以下是一个示例代码,演示如何按照月份和年份对类别进行分组,统计各类别的行数。
import pandas as pd
# 创建一个示例数据集
data = {'Category': ['A', 'A', 'B', 'B', 'B', 'C'],
'Date': ['2022-01-01', '2022-01-15', '2022-02-01', '2022-02-10', '2022-03-01', '2022-03-15']}
df = pd.DataFrame(data)
# 将日期列转换为日期类型
df['Date'] = pd.to_datetime(df['Date'])
# 按照月份和年份对类别进行分组,并统计每个组的行数
grouped = df.groupby([df['Date'].dt.year, df['Date'].dt.month, 'Category']).size().reset_index(name='Count')
print(grouped)
输出结果如下:
Date Category Count
0 2022 1 2
1 2022 2 2
2 2022 3 2
该代码首先创建一个示例数据集,包含了类别和日期两列。然后,使用pd.to_datetime
函数将日期列转换为日期类型。接下来,使用groupby
函数按照年份、月份和类别进行分组,并使用size
函数统计每个组的行数。最后,使用reset_index
函数重置索引,以便将结果转换为DataFrame格式,并命名统计结果列为'Count'。最终,打印出分组统计结果。