gpt4 book ai didi

pandas - Pandas 中不规则时间序列的rolling_sum?

转载 作者:行者123 更新时间:2023-12-02 01:57:31 24 4
gpt4 key购买 nike

我有一个不规则采样的时间序列,想在其上使用像 pandas.stats.moments.rolling_sum 这样的函数。

不幸的是,该函数看起来只返回“x”个样本,而不是“x”秒。

不确定如何解决这个问题...对 pandas 来说很新。

我的数据看起来像

time     value
0.000 0.0000
0.013 0.0134
0.023 0.0256
0.035 0.0423
0.049 0.0756
0.069 0.0998

最佳答案

这里有一种方法可以做你想做的事

In [34]: df = read_csv(StringIO(data),sep='\s+')

创建一个类似日期的索引(假设你在这里指的是秒,需要转换为 ns 以添加到日期中)

In [35]: df['time'] = pd.to_datetime([Timestamp('20130101').value + v*1e9 for v in df['time'] ])

In [36]: df.set_index('time',inplace=True)

In [37]: df
Out[37]:
value
time
2013-01-01 00:00:00 0.0000
2013-01-01 00:00:00.012999 0.0134
2013-01-01 00:00:00.023000 0.0256
2013-01-01 00:00:00.035000 0.0423
2013-01-01 00:00:00.048999 0.0756
2013-01-01 00:00:00.068999 0.0998

将结果符合 20ms,滚动 20 个周期,没有最小值

In [38]: pd.rolling_sum(df,20,0,freq='20ms')
Out[38]:
value
time
2013-01-01 00:00:00 0.00670
2013-01-01 00:00:00.020000 0.04065
2013-01-01 00:00:00.040000 0.11625
2013-01-01 00:00:00.060000 0.21605

关于pandas - Pandas 中不规则时间序列的rolling_sum?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19141946/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com