groupby如何以小时划分数据
时间: 2023-06-27 10:03:07 浏览: 85
利用Pandas和Numpy按时间戳将数据以Groupby方式分组
假设你有一个包含时间戳的数据框,你可以使用 `pd.Grouper()` 函数来将时间戳转换为小时并进行分组。以下是一个示例代码:
``` python
import pandas as pd
# 创建数据框
df = pd.DataFrame({
'timestamp': ['2022-06-01 12:30:00', '2022-06-01 13:15:00', '2022-06-01 14:20:00',
'2022-06-02 10:00:00', '2022-06-02 11:45:00', '2022-06-02 13:10:00'],
'value': [1, 2, 3, 4, 5, 6]
})
# 将时间戳列转换为 datetime 类型
df['timestamp'] = pd.to_datetime(df['timestamp'])
# 以小时为单位进行分组
hourly_grouped = df.groupby(pd.Grouper(key='timestamp', freq='H'))
# 计算每个小时的总和
hourly_sum = hourly_grouped.sum()
print(hourly_sum)
```
输出:
```
value
timestamp
2022-06-01 12:00:00 1
2022-06-01 13:00:00 2
2022-06-01 14:00:00 3
2022-06-02 10:00:00 4
2022-06-02 11:00:00 5
2022-06-02 13:00:00 6
```
在上面的代码中,我们使用 `pd.Grouper()` 函数将时间戳列转换为小时,并使用 `freq='H'` 指定以小时为单位进行分组。然后,我们对每个小时的值进行求和,得到了每个小时的总和。
阅读全文