【问题标题】:Pandas resample熊猫重采样
【发布时间】:2015-04-24 14:36:15
【问题描述】:

我有一些不规则标记的时间序列数据,格式如下,

         Time                 Pressure    Humidity    Temperature
2014-02-13 09:15:00.355000  124.283173   26.926562    6119.075
2014-02-13 09:15:00.356000  118.537935   22.228906    6111.625
2014-02-13 09:15:00.357000  118.537935   22.228906    6111.625
2014-02-13 09:15:00.359000  105.237890   10.919141    6104.625
2014-02-13 09:15:00.360000  105.237890   9.773438     6104.625...

2014-02-13 09:15:00.4530000  101.237890   7.773438     6101.625
2014-02-13 09:15:00.4590000  101.237890   7.773438     6101.625 

我正在尝试将 pandas 中的数据重新采样到常规的 100 毫秒或 S 频率。我希望这可以工作

x = ts.resample('100L', how='ffill')

这并没有做任何事情,事实上它只是给了我同样的系列。然后我尝试了

x = ts.asfreq('100L', method = 'ffill') 这似乎有效。难道我做错了什么? resample 不打算在这里使用吗?

这里我希望下采样到 100 毫秒的分辨率,所以我的目标输出是

2014-02-13 09:15:00.355000   124.283173   26.926562    6119.075
2014-02-13 09:15:00.455000   101.237890   7.773438     6101.625

【问题讨论】:

    标签: pandas time-series


    【解决方案1】:

    您没有明确说明要在此处输出什么——基于来自

    的输出

    ts.asfreq('S', method = 'ffill')

    您似乎只想进行第一次观察。对吗?

    但这不是 ffill 方法的作用。当您将 how = 'ffill' 传递给 resample 方法时,它使用 dataframe.ffill 填充空值。这是

    的同义词
    NDFrame.fillna(method=’ffill’)
    

    如果您想使用重采样并返回每个组中的第一个观察值,请使用“first”方法:

    ts_df.resample('S',how = 'first')
    

    【讨论】:

    • 我很抱歉,你是对的,所以我真正要做的就是尝试下采样。换句话说,我每毫秒都会标记更高频率的数据,我只是想以第二分辨率进行采样。每当有差距时,我想解决原始数据中最接近的快照。这有意义吗?
    • 那么,您是真的在寻找样本系列还是只是想删除多余的行?您可以使用drop_duplicatesgroupby
    • @dqr 下采样是重采样的一种形式,所以这应该是适合您的功能! Resample 还接受一个参数fill_method,它可以设置为ffill,我认为这是你之前想要达到的。你应该看看resample documentation,它会给你更多的定制灵活性。
    • 谢谢exp 1orer,我会调查的。最后一个问题,ts_df.resample('S',how = 'first') 与 ts.asfreq('S', method = 'ffill') 有何不同。它们是等价的吗?而且我真的想要在时间戳更改之前进行最后一次观察,例如,我正在查看“第二次”采样,我想在时间戳更改并移动到高于我的第二次分辨率触发事件之前进行观察。
    【解决方案2】:

    使用

    x = ts.resample('100L', method='ffill')
    

    而不是

    x = ts.resample('100L', how='ffill')
    

    【讨论】:

      猜你喜欢
      • 2016-11-25
      • 1970-01-01
      • 1970-01-01
      • 2021-06-01
      • 2013-06-04
      • 2015-11-21
      • 2017-10-09
      • 2022-06-10
      • 2017-02-20
      相关资源
      最近更新 更多