Sat*_*tya 3 python datetime dataframe pandas
我有一个超过1亿行的巨大数据框。由于我有一个日期列,不幸的是格式(混合)的日期字符串格式不正确。
现在,我通过以下方式将其转换为日期时间:
df['TRX_DATE'] = pd.to_datetime(df['TRX_DATE'],coerce=True)
# without any error
# Now i want to calculate week day from that date columns
df['day_type'] = [x.strftime('%A') for x in d['TRX_DATE']]
###ValueError: month out of range
Run Code Online (Sandbox Code Playgroud)
如果只有一个字段,我可以使用dateutil解析器进行管理。但是在这种情况下,我不知道该如何处理。
只是有意思,如果周转换行可以有一些超出范围的地方,则默认为...
有想法但作为新手。没有那么多经验。
如果有人可以提供一条代码行来解决这个问题,那将是非常有帮助的。
我认为您可以to_datetime
使用参数进行解析,errors='coerce'
然后将strftime
其转换为工作日作为语言环境的全名:
print df
TRX_DATE some value
0 2010-08-15 13:00:00 27.065
1 2010-08-16 13:10:00 25.610
2 2010-08-17 02:30:00 17.000
3 2010-06-18 02:40:00 17.015
4 2010-18-19 02:50:00 16.910
df['TRX_DATE'] = pd.to_datetime(df['TRX_DATE'],errors='coerce')
df['day_type'] = df['TRX_DATE'].dt.strftime('%A')
print df
TRX_DATE some value day_type
0 2010-08-15 13:00:00 27.065 Sunday
1 2010-08-16 13:10:00 25.610 Monday
2 2010-08-17 02:30:00 17.000 Tuesday
3 2010-06-18 02:40:00 17.015 Friday
4 NaT 16.910 NaT
Run Code Online (Sandbox Code Playgroud)