首页 > 解决方案 > 具有 2 个索引的 Pandas GroupBy:希望使用第二个索引的百分比作为聚合值,而不是 .count()

问题描述

我在 Pandas 中使用两个索引进行 GroupBy,见下文:

在此处输入图像描述

它目前按“计数”分组,但我希望将值改为每月的百分比。这样我就可以更好地比较每个月,而不是比较每个月的计数,这是不公平的,因为每个月的条目数量不同。

即这是图表当前的样子,而我希望条形图显示每个月的百分比,而不是计数:

在此处输入图像描述

这就是我想要做的,比较每个月的百分比: 在此处输入图像描述

我不知道我怎么能做到这一点:也许是一个 lambda 函数?

谢谢!

标签: pythonpandasmatplotlib

解决方案


你可以做

int_group = (interactions.groupby('MM-YYYY')['Description']
                .value_counts(normalize=True)
                .unstack('Description')
            )

int_group.plot.bar()

推荐阅读