考虑以下内容:
In [99]: d = pd.to_datetime({'year':[2016], 'month':[06], 'day':[01]})
In [100]: d1 = pd.to_datetime({'year':[2016], 'month':[01], 'day':[01]})
In [101]:d - d1
Out[101]:
0 152 days
dtype: timedelta64[ns]
但是当我尝试将此操作应用于整个列时,就会遇到问题。例如:
df['Age'] = map(lambda x:x - pd.to_datetime({'year':[2016], 'month':[06], 'day':[01]}), df['Manager_DoB'])
df['Manager_Dob']
是一个日期时间对象的列。
它提示了以下错误:
TypeError: 只能在日期时间和timedelta/DateOffset之间进行加减运算,但是传递了[__rsub__] 运算符。
dates - d
,它给了我一行NaT
值。但是添加d[0]
就是解决方案。那样可行。我仍然不知道为什么它让我执行dates - d
。 - TheChetan