pandas的排序、分组groupby及cumsum累计求和方式_第1页
pandas的排序、分组groupby及cumsum累计求和方式_第2页
pandas的排序、分组groupby及cumsum累计求和方式_第3页
pandas的排序、分组groupby及cumsum累计求和方式_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第pandas的排序、分组groupby及cumsum累计求和方式目录生成一列sum_age对age进行累加生成一列sum_age_new按照gender和is_good对age进行累加根据不同的性别对年龄进行等级排序对数据排序之后,分组,并累计求和pandas分组排序功能

生成一列sum_age对age进行累加

df['sum_age']=df['age'].cumsum()

print(df)

生成一列sum_age_new按照gender和is_good对age进行累加

df['sum_age_new']=df.groupby(['gender','is_good'])['age'].cumsum()

print(df)

根据不同的性别对年龄进行等级排序

df['rank_g']=df.groupby(['gender'])['age'].rank()

print(df)

这里的rank()即rank_g,并不是按照1、2、3、4、、依次排

按照官方文档的意思,该函数是沿着某个轴来计算数值数据等级(1到n)。默认情况下,为相等的值分配同一个等级,该等级是这些值的等级的平均值。

例子:

importpandasaspd

obj=pd.Series([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,同理可得两个4的等级都为(4+5)/2=4.5。

输出:

06.5

11.0

26.5

34.5

43.0

52.0

64.5

dtype:float64

对数据排序之后,分组,并累计求和

#对StartTime进行排序,ConnectionType分组,temp进行累计求和cumsum

wsw_1=wsw.sort_values(['StartTime'])

wsw_1.loc[:,'ConnectionNumber']=wsw_1.groupby(['ConnectionType'])['temp'].cumsum()

这里如果不对starttime排序,ConnectionNumber不会按时间顺序,统计drilling、tripping的number数

pandas分组排序功能

在一个班级里,学生考试科目有语文、数学、英语,分别有对应的成绩。

现在,想要列出每个科目班级的前五名的情况,要求包含科目、姓名、成绩、名次。

通过以下代码实现:

importpandasaspd

a=['小红','小绿','小蓝','小白','小青','小紫','小粉','小傻','小红','小绿','小蓝','小白','小青','小紫','小粉','小傻','小红','小绿','小蓝','小白','小青','小紫','小粉','小傻']

b=['语文','语文','语文','语文','语文','语文','语文','语文','数学','数学','数学','数学','数学','数学','数学','数学','英语','英语','英语','英语','英语','英语','英语','英语']

c=[97,65,23,43,67,23,55,98,56,45,67,78,98,45,87,65,67,23,55,98,56,45,67,78]

len(a),len(b),len(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']).ra

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论