首页 > 解决方案 > Python Groupby 和计数

问题描述

我正在创建一个 sankey 图并映射原始数据,以便我知道源节点和目标节点。我在将源和目标分组然后计算每个发生的次数时遇到问题。例如,使用下表找出 0 -> 4 出现的次数并将其记录在数据框中。

index event_action_num  next_action_num
227926  0   6
227928  1   5
227934  1   6
227945  1   7
227947  1   6
227951  0   7
227956  0   6
227958  2   6
227963  0   6
227965  1   6
227968  1   5
227972  3   6

我要发送的地方是:

event_action_num next_action_num count_of
0    4  1728
0    5  2382
0    6  3739
etc

试过:

df_new_2 = df_new.groupby(['event_action_num', 'next_action_num']).count()

但没有给我我正在寻找的结果。

提前致谢

标签: pythonpandas

解决方案


尝试使用agg('size')而不是count()

df_new_2.groupby(['event_action_num', 'next_action_num']).agg('size')

对于您的示例数据输出将是:

输出


推荐阅读