我有一个包含一些日期时间(以字符串形式)和一些空值'nan'的系列:
import pandas as pd, numpy as np, datetime as dt
df = pd.DataFrame({'Date':['2014-10-20 10:44:31', '2014-10-23 09:33:46', 'nan', '2014-10-01 09:38:45']})
我正在尝试将这些转换为日期时间:
df['Date'] = df['Date'].apply(lambda x: dt.datetime.strptime(x, '%Y-%m-%d %H:%M:%S'))
但是我收到了错误提示:
time data 'nan' does not match format '%Y-%m-%d %H:%M:%S'
所以我尝试将它们转换为实际的null值:
df.ix[df['Date'] == 'nan', 'Date'] = np.NaN
并重复:
df['Date'] = df['Date'].apply(lambda x: dt.datetime.strptime(x, '%Y-%m-%d %H:%M:%S'))
但是我遇到了这个错误:
必须是字符串,而不是浮点数
最快解决该问题的方法是什么?
errors='coerce'
,而不是coerce=True
。 - JBWhitmore