我在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
这显然不是原始数组中时间之间的差异。对我做错了什么的想法?
答案 0 :(得分:2)
而不是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]
答案 1 :(得分:0)
由于您使用的是pandas
,因此您应该输入的内容是:
diff_o_Series = timeSeries.diff()
你刚订购错了。
答案 2 :(得分:0)
如果你想找到整个DataFrame(不只是一个系列)的差异,你可以使用:
differenced_dataframe = yourDataframe.diff(axis = 0, interval = 1)
axis:您可以指定是否需要不同的行(0)或列(1)
interval:1是默认值,但您可以指定要移位的时段
对于间隔1,您的第一行将是NaN,应在执行任何进一步分析/培训之前将其删除。