要按照一天的小时将Pandas数据进行分组,可以使用Pandas的groupby()
函数和pd.Grouper()
函数来实现。具体的解决方法如下所示:
import pandas as pd
# 创建示例数据
data = {'datetime': ['2022-01-01 08:30:00', '2022-01-01 09:15:00', '2022-01-01 10:20:00', '2022-01-02 13:45:00', '2022-01-02 14:30:00'],
'value': [10, 15, 20, 25, 30]}
df = pd.DataFrame(data)
# 将'datetime'列转换为Pandas的日期时间类型
df['datetime'] = pd.to_datetime(df['datetime'])
# 按照一天的小时进行分组
df_grouped = df.groupby(pd.Grouper(key='datetime', freq='H')).sum()
# 打印结果
print(df_grouped)
输出结果如下:
value
datetime
2022-01-01 08:00:00 10
2022-01-01 09:00:00 15
2022-01-01 10:00:00 20
2022-01-01 11:00:00 0
2022-01-01 12:00:00 0
2022-01-01 13:00:00 0
2022-01-01 14:00:00 0
2022-01-01 15:00:00 0
2022-01-01 16:00:00 0
2022-01-01 17:00:00 0
2022-01-01 18:00:00 0
2022-01-01 19:00:00 0
2022-01-01 20:00:00 0
2022-01-01 21:00:00 0
2022-01-01 22:00:00 0
2022-01-01 23:00:00 0
2022-01-02 00:00:00 0
2022-01-02 01:00:00 0
2022-01-02 02:00:00 0
2022-01-02 03:00:00 0
2022-01-02 04:00:00 0
2022-01-02 05:00:00 0
2022-01-02 06:00:00 0
2022-01-02 07:00:00 0
2022-01-02 08:00:00 0
2022-01-02 09:00:00 0
2022-01-02 10:00:00 0
2022-01-02 11:00:00 0
2022-01-02 12:00:00 0
2022-01-02 13:00:00 25
2022-01-02 14:00:00 30
2022-01-02 15:00:00 0
2022-01-02 16:00:00 0
2022-01-02 17:00:00 0
2022-01-02 18:00:00 0
2022-01-02 19:00:00 0
2022-01-02 20:00:00 0
2022-01-02 21:00:00 0
2022-01-02 22:00:00 0
2022-01-02 23:00:00 0
在上述代码中,首先将'datetime'列转换为Pandas的日期时间类型,然后使用pd.Grouper()
函数将日期时间按照小时进行分组。pd.Grouper(key='datetime', freq='H')
中的key
参数指定要进行分组的列名,freq
参数指定按照小时进行分组。最后,使用groupby()
函数对数据按照分组条件