700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > python pandas 排序_Pandas的排序和排名(Series DataFrame) + groupby

python pandas 排序_Pandas的排序和排名(Series DataFrame) + groupby

时间:2019-05-11 13:55:46

相关推荐

python pandas 排序_Pandas的排序和排名(Series  DataFrame) + groupby

根据条件对数据集排序(sorting)也是一种重要的内置运算。要对行或列索引进行排序(按字典顺序),

可使用sort_index 方法, 它将返回一个已排序的新对象:

而DataFrame, 则可以根据任意一个轴上的索引进行排序:

降序

数据默认是按照升序排序的, 但也可以安装降序排序

按值排序

如果有缺失值呢

求唯一值排序和频率排序

Dataframe指定某列的值进行排序,by选项

那么如果多个呢?

排名

排名(ranking ) 跟排序关系密切, 且它会增设一个排名值(从1开始, 一直到数组中有效数据的数量)。

它跟numpy.argsort产生的间接拍下索引差不多, 只不过它可以根据某种规则破坏平级关系。接下来介绍Series和Dataframe 的rank方法。

默认情况下, rank是通过”为各组分配一个平均排名“的方式破坏平级关系的。

降序

groupby方法

import pandas aspd

df= pd.DataFrame({'性别' : ['男', '女', '男', '女','男', '女', '男', '男'],'成绩' : ['优秀', '优秀', '及格', '差','及格', '及格', '优秀', '差'],'年龄' : [15,14,15,12,13,14,15,16]})

GroupBy=df.groupby("性别")

GroupBy.iter()

GroupBy对象是一个迭代对象,每次迭代结果是一个元组,元组的第一个元素是该组的名称(就是groupby的列的元素名称),第二个元素是该组的具体信息,是一个数据框,索引是以前的数据框的总索引

for name,group inGroupBy:

print(name)

print(group)

年龄 性别 成绩1 14女 优秀3 12女 差5 14女 及格

年龄 性别 成绩0 15男 优秀2 15男 及格4 13男 及格6 15男 优秀7 16 男 差

groupby还有其他子方法,需要的话自己在百度吧

来个例子, groupby + apply + sortValues的例子

data.groupby('customer_id')['repayment_date'].apply(lambda x:x.sort_values(ascending=False)).reset_index()

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。