gpt4 book ai didi

python - 如何用 pandas 替换一定时间范围内的值及其平均值?

转载 作者:太空宇宙 更新时间:2023-11-03 14:26:26 30 4
gpt4 key购买 nike

我的数据如下所示:

    timestamp  value
0 12345 0.0
1 12346 1.0
2 12347 4.0
3 12348 2.0
4 12349 6.0
...

我想把它变成这样:

    timestamp  value
0 12345 0.5
1 12346 0.5
2 12347 3.0
3 12348 3.0
4 12349 6.0
...

我想通过将值替换为特定时间范围的平均值来降低值的“分辨率”。这类似于:

df = df.groupby(df.index // N).mean()

其中 N 是要表示的行数,但以下情况除外:

  1. 我想保留行数(在 pandas 中也称为:“pad”/“ffill”这些意思)。
  2. 与 (1) 相关,时间戳应保持不变,而不是与值一起被表示。
  3. 理想情况下,我不想按 N 行进行分组,而是按时间范围(例如分钟、小时、天)进行分组,因为我无法保证时间戳的间隔相等。

我意识到这有点复杂,可以通过多种不同的步骤来完成,但我是使用 pandas 的新手,希望有更简单的内置步骤。非常感谢任何指点!

最佳答案

试试这个:

In [12]: df['value'] = df['value'].groupby(np.arange(len(df)) // N).transform('mean')
In [13]: df
Out[13]:
timestamp value
0 12345 0.5
1 12346 0.5
2 12347 3.0
3 12348 3.0
4 12349 6.0

关于python - 如何用 pandas 替换一定时间范围内的值及其平均值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47617499/

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