以下是一个示例代码,演示如何按天和小时对数据进行分组。
import pandas as pd
# 创建一个包含日期和时间的示例数据集
data = {
'timestamp': ['2022-01-01 10:30:00', '2022-01-01 12:45:00', '2022-01-02 09:15:00', '2022-01-02 17:30:00'],
'value': [1, 2, 3, 4]
}
df = pd.DataFrame(data)
# 将时间戳列转换为 pandas 的 datetime 类型
df['timestamp'] = pd.to_datetime(df['timestamp'])
# 按天和小时分组
df['day'] = df['timestamp'].dt.date # 提取日期部分
df['hour'] = df['timestamp'].dt.hour # 提取小时部分
# 计算每天每小时的值的总和
df_grouped = df.groupby(['day', 'hour']).sum()
print(df_grouped)
输出结果:
value
day hour
2022-01-01 10 1
12 2
2022-01-02 9 3
17 4
以上代码首先将时间戳列转换为 pandas 的 datetime 类型,然后使用 dt.date
和 dt.hour
方法分别提取日期和小时部分。接下来,使用 groupby
方法将数据按照日期和小时分组,并使用 sum
方法计算每天每小时的值的总和。最后,打印出分组后的结果。
下一篇:按天和种类进行时间序列分组