将Dataframe对象转换为Date Python

时间:2016-07-21 03:09:05

标签: python date object dataframe casting

一个python数据帧' dff'包含从SAS导入的数据的日期字段的类型如下所示:python:

dff.effvdate.head()
Out[47]: 
0    b'09JUL2013'
1    b'17OCT2013'
2    b'03MAR2014'
3    b'08MAY2014'
4    b'10MAR2015'
Name: effvdate, dtype: object

我正在尝试将此日期转换为datetype,如下所示:

dff['REPORT_MONTH'] =[dt.datetime.strptime(d,"%d%b%Y").date() for d in dff['effvdate']]

显示此错误

TypeError: strptime() argument 1 must be str, not bytes

由于我是python的新手,需要帮助。

1 个答案:

答案 0 :(得分:0)

错误TypeError: strptime() argument 1 must be str, not bytes为您提供了解您需要的信息! d以字节为单位,而不是字符串。你应该把d转换成字符串。

dff['REPORT_MONTH'] =[dt.datetime.strptime(d.decode('UTF-8'),"%d%b%Y").date() for d in dff['effvdate']]

应该有用。

请参阅What does the 'b' character do in front of a string literal?