我正在研究一个pandas数据框,我有一个日期时间列,现在我必须将它转换为Weekdays.How我可以这样做吗?
答案 0 :(得分:6)
您可能想要使用日期时间模块。
来自strptime and strftime模块的datetime方法:
In [1]: import datetime
In [4]: datetime.datetime.strptime('01-01-2011 19:00','%d-%m-%Y %H:%M').strftime('%A')
Out[4]: 'Saturday'
答案 1 :(得分:2)
您可以使用datetime.strftime()
来解析日期,然后使用datetime.weekday()
将工作日作为整数:
示例:强>
from datetime import datetime
d = datetime.strptime("01-01-2011 19:00", "%d-%m-%Y %H:%S")
d.weekday() # 5
现在,如果我们查看datetime.weekday()
的文档,我们可以看到:
date.weekday()
以整数形式返回星期几 星期一是0,星期日是6。
例如,日期(2002年,12月4日).weekday()== 2,星期三。
另见isoweekday()。
知道这一点我们可以编写一个简单的函数:
weekdays = {
0: "Monday",
1: "Tuesday",
2: "Wednesday",
3: "Thursday",
4: "Friday",
5: "Saturday",
6: "Sunday",
}
def weekday(dt):
return weekdays[dt.weekday()]
现在我们可以简单地在给定的weekday()
对象实例上调用datetime()
:
d = datetime.strftime(">>> d = datetime.strptime("01-01-2011 19:00", "%d-%m-%Y %H:%S")
weekday(d) # Saturday