【问题标题】:Difficulty using Diff on pandas date time series在熊猫日期时间序列上使用 Diff 的困难
【发布时间】:2013-11-12 03:52:04
【问题描述】:

我在 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

这显然不是原始数组中时间之间的增量差异。关于我做错了什么有什么想法吗?

【问题讨论】:

标签: python pandas


【解决方案1】:

timeSeries.diff()代替diff(timeSeries)

>> 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]

【讨论】:

  • 我认为应该是TimeSeries,而不是timeSeries
  • timeSeriesTimeSeries 的一个实例,所以它是timeSeries
【解决方案2】:

由于您使用的是pandas,您应该输入的是:

diff_o_Series = timeSeries.diff()

你只是点错了。

【讨论】:

    【解决方案3】:

    如果要查找整个DataFrame(不仅仅是一个系列)的差异,可以使用:

    differenced_dataframe = yourDataframe.diff(axis = 0, interval = 1)
    

    轴:您可以指定是否需要不同的行 (0) 或列 (1)

    interval: 1 是默认值,但您可以指定要移动的周期

    对于间隔 1,您的第一行将是 NaN,应在执行任何进一步分析/训练之前将其删除。

    【讨论】:

      猜你喜欢
      • 2014-01-01
      • 2020-10-02
      • 2022-10-17
      • 2013-06-05
      • 2020-05-27
      • 2020-11-11
      • 1970-01-01
      • 2021-06-17
      • 2019-02-19
      相关资源
      最近更新 更多