假设我的 Dataframe 如下所示:
| 构建年份|品牌|
| - ------| - ------|
| 二○一○年|梅赛德斯|
| 二○一○年|梅赛德斯|
| 二○一○年|宝马|
| 二○一○年|起亚|
| 二○一一年|丰田|
| 二○一一年|梅赛德斯|
| 二○一一年|梅赛德斯|
| 二〇一二年|特斯拉|
我想找到构建年份和品牌的所有唯一组合,然后计算这些值,并计算每年每种颜色的百分比。
df.groupby(["Build year", "Brand"]).count()
是否有简单的方法将其转换为每年的百分比?所需的输出为:
| 构建年份|品牌|计数|年度计数百分比|
| - ------| - ------| - ------| - ------|
| 二○一○年|梅赛德斯|第二章|0.5分|
| 二○一○年|宝马|1个|0.25|
| 二○一○年|起亚|1个|0.25|
| 二○一一年|丰田|1个|0.33|
| 二○一一年|梅赛德斯|第二章|0.66|
| 二〇一二年|特斯拉|1个|1个|
3条答案
按热度按时间lf3rwulv1#
您只需按Build Year分组,并使用
.value_counts
:zujrkrfu2#
您可以使用lambda函数计算年度计数百分比,如下所示:
完整代码示例
产出
希望能有所帮助
jckbn6z73#
一种方法链接方法(假设名称中没有空格)可能如下所示:
完整解决方案:
输出: