我有一个数据帧,看起来像这样:奇怪的结果
df = pd.DataFrame({'date_sent': ['06/11/2015', '', 'Not required', '06/11/2015'],
'date_published': ['06/11/2015', '', '', '23/01/2016']})
我想计算每行中的两个日期之间的差别,所以首先我将字符串转换为Date对象:
df.date_published = pd.to_datetime(df.date_published.str.replace('Not required', ''))
df.date_sent = pd.to_datetime(df.date_sent.str.replace('Not required', ''))
然后我减去从另一个:
df['delay'] = df.date_published - df.date_sent
但是这给了我奇怪的结果 - 我t在06/11/2015和23/01/2016之间没有226天:
df
date_published date_sent delay
0 2015-06-11 2015-06-11 0 days
1 NaT NaT NaT
2 NaT NaT NaT
3 2016-01-23 2015-06-11 226 days
我在做什么错?我正在使用熊猫v0.18。
啊 - 我想我的日期格式不正确?我试过'df.date_published = pd.to_datetime(df.date_published.str.replace('Not required',''),format ='%d /%m /%Y')'但是出现错误。 – Richard
我不能用熊猫重现决赛桌18.1 ...你不会将'06/11/2015'等转换成datatime。只有“不需要” – Merlin