我有一个这样的数据框:
data = pd.DataFrame({'rate': [np.nan, 28, 33],'tvalue':['2018-01-22','2018-03-04','2018-05-08']})
我比较使用的tvalue
f=lambda x :datetime(*[int(item) for item in x.split('-')])
data['tvalue'] = [f(x) for x in data['tvalue']]
data['delta'] = data['tvalue'] - data['tvalue'].shift()
我得到了这个数据框:
rate tvalue delta
0 NaN 2018-01-22 NaT
1 28.0 2018-03-04 41 days
2 33.0 2018-05-08 65 days
我想将列rate
除以delta
data['rate']/data['delta']
出现以下错误:TypeError: ufunc true_divide cannot use operands with types dtype('float64') and dtype('<m8[ns]')
,如何将时间增量类型41 days
,65 days
,NaT
转移到41
,65
,NaN
。并得到解决方案?