我有一个熊猫数据帧导航表,它的索引是一系列的日期。在
我需要找出索引中连续日期之间的差异
Delta
2016-08-10 0.006619
2016-08-12 0.006595
2016-08-14 0.006595
2016-08-17 0.006595
2016-08-18 0.006595
我想要一个新的列Days_Diff
,这将使我在随后的日期(在索引中)有区别。所以我的输出应该是这样的
我先试试这个:
navTable['Index'] = navTable.index
navTable['Days_Diff'] = navTable['Index'] - navTable['Index'].shift(1)
navTable['Delta_Days'] = navTable['Days_Diff'].days
直截了当地说,这是不被接受的,因为它是抱怨“天不能适用于系列”
所以,我试了一下:
navTable['Index'] = navTable.index
navTable['Days_Diff'] = navTable['Index'] - navTable['Index'].shift(1)
navTable['Delta_Days'] = [ eachDayDiff.days for eachDayDiff in list(dataTable['Days_Diff']) ]
可以理解的是,它在抱怨第一个带有is Null
的元素。在
'NaTType' object has no attribute 'days'
问题1)我是否有效地处理了这种情况? 问题2)如何解决
'NaTType' object has no attribute 'days'
对于记录,第一个元素的类型是pandas.tslib.NaTType
其余类型为pandas.tslib.Timedelta
编辑:格式
通常,您将使用
diff()
函数来计算相邻的差异,您可以将索引转换为普通序列,然后使用diff()
函数,该函数给出一系列time delta
数据类型:要将时间增量数据类型转换为数字类型,请执行以下操作:
^{pr2}$相关问题 更多 >
编程相关推荐