我在Pandas中有一个系列(dtype = datetime64)如下:
timeSeries
35064 2013-11-11 16:44:26
35065 2013-11-11 17:37:15
35066 2013-11-11 18:30:03
35067 2013-11-11 19:22:51
35068 2013-11-11 20:15:39如果我拿出这个系列的不同之处:
diff_o_Series = diff(timeSeries)我得到以下结果(dtype = timedelta64 ):
diff_o_Series
35064 NaT
35065 00:00:00
35066 00:00:00
35067 00:00:00
35068 NaT这显然不是原始数组中时间之间的差异。对我做错了什么有什么想法吗?
发布于 2013-11-12 03:56:38
不要使用diff(timeSeries),而是使用timeSeries.diff()
>> timeSeries
0 2013-11-11 16:44:26
1 2013-11-11 17:37:15
2 2013-11-11 18:30:03
3 2013-11-11 19:22:51
4 2013-11-11 20:15:39
dtype: datetime64[ns]
>> timeSeries.diff()
0 NaT
1 00:52:49
2 00:52:48
3 00:52:48
4 00:52:48
dtype: timedelta64[ns]发布于 2017-05-16 12:26:10
由于您使用的是pandas,您应该键入的内容是:
diff_o_Series = timeSeries.diff()你只是点错了。
发布于 2018-05-01 16:41:54
如果您想找出整个DataFrame (而不仅仅是一个系列)之间的差异,可以使用:
differenced_dataframe = yourDataframe.diff(axis = 0, interval = 1)axis:您可以指定是否需要不同的over行(0)或列(1)
interval: 1是默认的,但您可以指定要移位的句点。
对于间隔1,您的第一行将是NaN,在执行任何进一步的分析/培训之前,应该删除它。
https://stackoverflow.com/questions/19920538
复制相似问题