以下是一个示例代码,它演示了如何按日期分组每小时的数据。
import pandas as pd
# 创建一个示例数据集
data = {
'datetime': ['2021-01-01 10:15:00', '2021-01-01 10:30:00', '2021-01-01 11:05:00',
'2021-01-02 09:45:00', '2021-01-02 10:10:00', '2021-01-02 10:55:00'],
'value': [10, 20, 30, 40, 50, 60]
}
df = pd.DataFrame(data)
# 将'datetime'列转换为datetime类型
df['datetime'] = pd.to_datetime(df['datetime'])
# 将'datetime'列设置为索引
df.set_index('datetime', inplace=True)
# 按日期和小时分组,并计算每个小时的均值
hourly_data = df.groupby([df.index.date, df.index.hour]).mean()
# 重置索引,以便日期和小时成为列
hourly_data.reset_index(inplace=True)
print(hourly_data)
输出结果为:
datetime value
0 2021-01-01 15
1 2021-01-01 30
2 2021-01-02 40
3 2021-01-02 55
在示例代码中,我们首先创建了一个示例数据集,它包含了日期时间和值两列。然后,我们将'datetime'列转换为datetime类型,并将其设置为数据帧的索引。接下来,我们使用groupby
函数按日期和小时分组数据,并计算每个小时的均值。最后,我们重置索引,以便日期和小时成为列。