pandas根据时间间隔分组
时间: 2023-06-15 10:03:56 浏览: 63
可以使用 `pd.Grouper` 对时间间隔进行分组。
假设有一个 DataFrame `df`,其中包含一个时间戳列 `timestamp` 和一个数值列 `value`,我们想要按每小时分组并对值列求和,可以这样做:
``` python
import pandas as pd
# 创建示例数据
df = pd.DataFrame({
'timestamp': pd.date_range('2022-01-01', periods=12, freq='30min'),
'value': range(12),
})
# 按每小时分组并对值列求和
grouped = df.groupby(pd.Grouper(key='timestamp', freq='1H')).sum()
print(grouped)
```
输出结果如下:
```
value
timestamp
2022-01-01 00:00:00 1
2022-01-01 01:00:00 5
2022-01-01 02:00:00 9
2022-01-01 03:00:00 13
2022-01-01 04:00:00 17
2022-01-01 05:00:00 21
```
在上面的代码中,`pd.Grouper` 的 `key` 参数指定了按照哪一列进行分组,`freq` 参数指定了时间间隔。`freq` 参数可以使用多种时间间隔字符串,比如 `'1H'` 表示每小时,`'30min'` 表示每30分钟,`'D'` 表示每天等等。