【问题标题】:Calculating rolling mean of 15 minutes, 8 hours and 24 hours using Python使用 Python 计算 15 分钟、8 小时和 24 小时的滚动平均值
【发布时间】:2019-07-08 21:23:45
【问题描述】:

我有一个数据框,其中包含一个月内每 10 秒的数据。我需要计算 15 分钟、8 小时和 24 小时数据的移动平均值。如何使用 Python 来实现?

这是我的数据集:

RecTime NO2_RAW NO2 Ox_RAW  Ox  CO_RAW  CO  SO2_RAW SO2
05/31/19 13:42  0   19.13   2225    4480.35 6503.1  7687.33 -3183.6 -8181.55
05/31/19 13:42  17  51.64   1711.2  3454.96 6502.7  7686.86 -3183.6 -8181.55
05/31/19 13:42  48.4    111.69  1387.7  2809.35 6501.9  7685.93 -3183.6 -8181.55
05/31/19 13:42  60.1    134.07  1173.6  2382.07 6501.4  7685.35 -3183.6 -8181.55
05/31/19 13:42  63.9    141.33  1025.6  2086.7  6501    7684.88 -3183.6 -8181.55

我尝试过使用以下代码

> Gas_432_15min = Gas_432.resample(rule='15Min', on='RecTime').mean()

但我认为它不是在计算滚动平均值。

【问题讨论】:

  • 您能否将示例数据粘贴为代码而不是图像?这样其他人就可以轻松复制您的问题并帮助解决它。

标签: pandas moving-average


【解决方案1】:

rolling 可以满足您的需求,但需要 datetimeIndex

Gas_432.RecTime = pd.to_datetime(Gas_432.RecTime)

Gas_432.set_index('RecTime').rolling('15T').mean()

对于这个数据框,你得到了:

+---------------------+--------+---------+---------+---------+---------+---------+---------+----------+
| 2019-05-31 13:42:00 |  0     | 19.13   | 2225    | 4480.35 | 6503.1  | 7687.33 | -3183.6 | -8181.55 |
| 2019-05-31 13:42:00 |  8.5   | 35.385  | 1968.1  | 3967.66 | 6502.9  | 7687.09 | -3183.6 | -8181.55 |
| 2019-05-31 13:42:00 | 21.8   | 60.82   | 1774.63 | 3581.55 | 6502.57 | 7686.71 | -3183.6 | -8181.55 |
| 2019-05-31 13:42:00 | 31.375 | 79.1325 | 1624.38 | 3281.68 | 6502.27 | 7686.37 | -3183.6 | -8181.55 |
| 2019-05-31 13:42:00 | 37.88  | 91.572  | 1504.62 | 3042.69 | 6502.02 | 7686.07 | -3183.6 | -8181.55 |
+---------------------+--------+---------+---------+---------+---------+---------+---------+----------+

第一列是datetimeIndex,另一列与Gas_432同名。

【讨论】:

  • 当我运行代码时,我收到一条错误消息,上面写着TypeError: cannot handle this type -> object
  • 除了RecTime之外,您的列都是数字吗?如果没有,您需要删除所有非数字列。您还需要检查您是否有任何非数字数据。
  • 非常感谢。有效。可以设置开始时间和结束时间吗?
猜你喜欢
  • 2021-12-10
  • 2017-03-16
  • 2020-06-17
  • 1970-01-01
  • 2019-11-24
  • 1970-01-01
  • 1970-01-01
  • 2018-11-14
  • 1970-01-01
相关资源
最近更新 更多