使用稀有日期格式将Pandas列转换为DateTime

时间:2017-10-10 11:33:19

标签: python pandas datetime dataframe string-to-datetime

我的数据框上有一列符合此日期格式:

2016年5月17日

我尝试按照此引用:http://strftime.org/和pandas.to_datetime参考:http://pandas.pydata.org/pandas-docs/version/0.20/generated/pandas.to_datetime.html

我的代码如下:     df1 =df1.apply(pandas.to_datetime, errors='ignore', format='%d %b%Y')

我也尝试过:format='%d/%b%Y' format='%d /%b%Y'但仍无效。日期列类型仍然是对象。 有任何想法吗?提前致谢

2 个答案:

答案 0 :(得分:2)

您只能使用to_datetime

df = pd.DataFrame({'date':['17 MAY2016']})

df['date'] = pd.to_datetime(df['date'])
print (df)
        date
0 2016-05-17

如果想要格式参数:

df['date'] = pd.to_datetime(df['date'], format='%d %b%Y')
print (df)
        date
0 2016-05-17

如果某些非日期值添加errors='coerce'以将其转换为NaT

df['date'] = pd.to_datetime(df['date'], errors='coerce')

编辑:

支票使用dtypes

print (df.dtypes)
date    datetime64[ns]
dtype: object

答案 1 :(得分:0)

您不需要使用.applyto_datetime函数本身适用于pandas系列对象。

df1['date column'] = pd.to_datetime(df1['date column'], errors='ignore')