将 Pandas 列转换为具有罕见日期格式的 DateTime

Convert Pandas Column to DateTime With Rare Date Format

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

2016 年 5 月 17 日

我已尝试遵循此参考:http://strftime.org/ and pandas.to_datetime reference: 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' 还是不行。日期列类型仍然是对象。 有任何想法吗?提前致谢

您只能使用 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

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

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