pandas groupby 同时 count sum,pandas分组统计个数
摘要:本文主要介绍了熊猫的排序、分组依据和累计求和法,具有很好的参考价值。希望对大家有帮助。如有错误或不足之处,请不吝赐教。
00-1010生成sum_age一列累计年龄生成sum_age_new一列累计年龄按性别和is_good。根据不同性别对年龄进行排名。整理好资料后,分组,积累总结。熊猫分组排序功能
目录
df[年龄总和]=df[年龄]。累计和()
打印(df)
生成一列sum_age 对age 进行累加
df[ sum _ age _ new ]=df . group by([ gender , is_good])[age]。累计和()
打印(df)
生成一列sum_age_new 按照 gender和is_good 对age进行累加
df[ rank _ g ]=df . group by([ gender ])[ age ]。排名()
打印(df)
这里的 rank() 即 rank_g ,并不是按照1、2、3、4、、依次排
根据官方文档,该函数是计算沿一个轴的数值数据等级(1到n)。默认情况下,相等的值被分配相同的等级,这是这些值的等级的平均值。
示例:
进口熊猫作为pd
obj=pd。系列([7,-5,7,4,2,0,4])
print(obj.rank())
代码[7,-5,7,4,2,0,4]从小到大排序。很明显,可以按照[-5,0,2,4,4,7,7]排列。值7有第6位和第7位,那么应该排序到什么级别呢?根据官方文件,取平均值,(6 7)/2=6.5,所以两个7的成绩都是6.5。同理,两个4s的成绩都是(4 5)/2=4.5。
输出:
0 6.5
1 1.0
2 6.5
3 4.5
4 3.0
5 2.0
6 4.5
dtype:浮点64
根据不同的性别对年龄进行 等级 排序
#排序开始时间、组连接类型和临时的累计和累计。
wsw _ 1=wsw . sort _ values([ Start Time ])
wsw_1.loc[:连接编号]=wsw_1.groupby([连接类型])[临时]。累计和()
如果开始时间没有在这里排序,连接编号将不会按时间顺序计算钻井和起下钻的次数。
对数据排序之后,分组,并累计求和
在一个班级里,学生的考试科目是语文、数学、英语,有相应的成绩。
现在如果要列出每门学科的前五名班级,就要包括学科、名称、成绩、排名。
通过以下代码实现:
进口熊猫作为pd
A=[小红,小绿,小蓝,小白,小绿,小紫,小粉红,小傻,小绿,小蓝,小白,小绿,小紫
B=[语言,语言,语言,语言,语言,语言,数学,数学,数学,数学,
c=[97,65,23,43,67,23,55,98,56,45,67,78,98,45,87
镜头(a),镜头(b),镜头(c)
df=pd。DataFrame({name:a, kemu:b, score:c})
df2=df.sort_values([kemu , score , name],ascending=[1,0,1])
df2[rn]=df2.groupby([kemu])。rank(method=first ,ascending=0)[score]
df2[df2[rn]=5]
以上个人经验,希望给你一个参考,也希望你能支持盛行的IT软件开发工作室。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。