1

我的数据框中有一列遵循此日期格式:

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'还是不行。日期列类型仍然是对象。有任何想法吗?提前致谢

4

2 回答 2

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
于 2017-10-10T11:37:57.730 回答
0

您不需要使用.apply,该to_datetime函数本身适用于 pandas Series 对象。

df1['date column'] = pd.to_datetime(df1['date column'], errors='ignore') 
于 2017-10-10T11:38:24.973 回答