Pandas groupby agg 根据一列的值

罗纳考多

数据源:


    Name    Country Height
0   Ben     UK  170
1   Bob     UK  159
2   Alice   UK  182
3   Craig   UK  172
4   Steve   UK  166
5   Jobs    UK  166
6   Jams    ZA  153
7   Tommy   ZA  176
8   Jacab   ZA  190

目标:

在此处输入图像描述

试过:

h_range_labels=["150-159", "160-169", "170-179", "180-190"]
h_range=[150,160,170,180,190]
source.groupby(pd.cut(source["Height"], h_range, labels=h_range_labels)).agg({"Name":"count"}).cumsum()

我如何实现上图的目标?

------更新问题----------

目标 2:如何显示为行百分比的总和?

Country      UK      ZA
Height            
[150, 160)   16.67%   33.33%
[160, 170)   33.33%   0
[170, 180)   33.33%   33.33%
[180, 191)   16.67%   33.33%
大黄123

尝试这个:

df = df.groupby([pd.cut(df['Height'],bins = [150,160,170,180,191],right = False),'Country']).size().unstack()

输出:

Country     UK  ZA
Height            
[150, 160)   1   1
[160, 170)   2   0
[170, 180)   2   1
[180, 191)   1   1

一定要获得额外的输出,可以使用以下内容:

df.div(df.sum(),axis=1).mul(100).applymap('{:.2f}%'.format)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Python Pandas:使用groupby()和agg()时是否保留顺序?

使用pandas GroupBy.agg()对同一列进行多次聚合

python pandas,DF.groupby()。agg(),agg()中的列引用

Pandas groupby:根据另一列中的值更改一列中的值

pandas groupby并更新一列中的值大于另一列中的值的总和

Pandas GroupBy有两列,但都依赖于两个字段/ agg()输出

熊猫groupby.agg删除列

在Pandas数据框中使用groupby时,如何根据上一行中的值增加一列?

Pandas groupby用于一列中的多个值

pandas groupby:我可以通过一列MultiIndex来选择agg函数吗?

Pandas DataFrame.Groupby.Agg词典中的自定义列选择

Python:Pandas:如何根据Groupby在另一列中查找最大值

Python Pandas-数据框通过pd.groupby()。agg()获得第二高的值

groupby和agg by多列错误

新列中的Pandas groupby和agg值

pandas.groupby.agg中可能存在错误?

汇总Pandas Groupby中的一列

在 Pandas Groupby 和 Agg 中保留一列但使用其他列

pandas groupby 使用一列列表值

pandas groupby.agg() 采用分类变量模式,其中 NaN 是组的唯一变量

Pandas Python groupby 多列 - 根据具有特定值的第一列按列 2 中的值对行进行排序

Spark SQL:当另一列是 groupBy().agg() 中的最大值时获取列的值

如何根据pandas.groupby().max()中一列的最大值获取整行?

使用 pandas 的 groupby 和 agg 合并包含字典的列

Groupby agg保持空白值

pandas groupby agg 从一列获取最大值并从另一列带来值

Pandas:如何在關於索引的 groupby.agg() 操作之後保留分類列?

在 Pandas 中处理大型数据框和 groupby/agg

python pandas加权平均使用groupby agg()