如何用Python统计分类列数据在不同日期的出现次数?
如何统计转换列转数据
想要将转换后的列转换为统计数字,可以使用以下步骤:
1. 虚拟化转换列
使用 pd.get_dummies() 函数将转换列转换为虚拟列,每个类别创建一个布尔列,其中 1 表示存在,0 表示不存在:
立即学习“Python免费学习笔记(深入)”;
df_dummies = pd.get_dummies(df, columns=['type'])
2. 分组和求和
使用 df.groupby() 根据日期对虚拟列进行分组,然后使用 sum() 求出每个日期每个类别出现的次数:
df_group = df_dummies.groupby("date").sum()
3. 输出结果
现在,df_group 将包含按日期统计的每个类别的数量:
print(df_dummies)print("-". * 60)print(df_group)
输出结果如下:
date type_1 type_2 type_3 type_4 type_50 2024-01-01 1 0 0 0 01 2024-01-01 0 1 0 0 02 2024-01-01 1 0 0 0 03 2024-01-02 0 0 1 0 04 2024-01-02 0 1 0 0 05 2024-01-02 0 0 1 0 06 2024-01-02 1 0 0 0 07 2024-01-02 1 0 0 0 08 2024-01-03 1 0 0 1 09 2024-01-03 0 0 0 1 010 2024-01-03 0 1 0 0 011 2024-01-03 0 0 0 0 1------------------------------------------------------------type_1 type_2 type_3 type_4 type_5 date 2024-01-01 2 1 0 0 0 2024-01-02 2 1 2 0 0 2024-01-03 1 1 1 1 1