Pandas的排序和排名(Series, DataFrame) + groupby
2017-02-20 18:13
561 查看
根据条件对数据集排序(sorting)也是一种重要的内置运算。要对行或列索引进行排序(按字典顺序),
可使用sort_index 方法, 它将返回一个已排序的新对象:
而DataFrame, 则可以根据任意一个轴上的索引进行排序:
如果有缺失值呢
那么如果多个呢?
它跟numpy.argsort产生的间接拍下索引差不多, 只不过它可以根据某种规则破坏平级关系。接下来介绍Series和Dataframe 的rank方法。
默认情况下, rank是通过”为各组分配一个平均排名“的方式破坏平级关系的。
降序
GroupBy.iter()
GroupBy对象是一个迭代对象,每次迭代结果是一个元组,元组的第一个元素是该组的名称(就是groupby的列的元素名称),第二个元素是该组的具体信息,是一个数据框,索引是以前的数据框的总索引
groupby还有其他子方法,需要的话自己在百度吧
可使用sort_index 方法, 它将返回一个已排序的新对象:
而DataFrame, 则可以根据任意一个轴上的索引进行排序:
降序
数据默认是按照升序排序的, 但也可以安装降序排序按值排序
如果有缺失值呢
求唯一值排序和频率排序
Dataframe指定某列的值进行排序,by选项
那么如果多个呢?
排名
排名(ranking ) 跟排序关系密切, 且它会增设一个排名值(从1开始, 一直到数组中有效数据的数量)。它跟numpy.argsort产生的间接拍下索引差不多, 只不过它可以根据某种规则破坏平级关系。接下来介绍Series和Dataframe 的rank方法。
默认情况下, rank是通过”为各组分配一个平均排名“的方式破坏平级关系的。
降序
groupby方法
import pandas as pd df = pd.DataFrame({'性别' : ['男', '女', '男', '女', '男', '女', '男', '男'], '成绩' : ['优秀', '优秀', '及格', '差', '及格', '及格', '优秀', '差'], '年龄' : [15,14,15,12,13,14,15,16]}) GroupBy=df.groupby("性别")
GroupBy.iter()
GroupBy对象是一个迭代对象,每次迭代结果是一个元组,元组的第一个元素是该组的名称(就是groupby的列的元素名称),第二个元素是该组的具体信息,是一个数据框,索引是以前的数据框的总索引
for name,group in GroupBy: 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()
相关文章推荐
- 【跟着stackoverflow学Pandas】--Converting a Pandas GroupBy object to DataFrame-Groupby对象转换为DataFrame
- numpy、pandas包List, Dict, Array, Series, DataFrame 相互转换
- python科学计算笔记(六)pandas 分组groupby
- Python之Pandas中Series、DataFrame实践
- Pandas两种主要的数据结构--Series和DataFrame
- python pandas 对series和dataframe的重置索引reindex方法
- XML methods are not allowed in a GROUP BY clause.XML不允许使用排序方法的处理
- Python之Pandas中Series、DataFrame实践
- pandas聚合和分组运算之groupby
- mysql 数据库中 WHERE / ORDER BY/GROUP BY/LIMIT 几个限制条件的排序
- python pandas ---Series,DataFrame 创建方法,操作运算操作(赋值,sort,get,del,pop,insert,+,-,*,/)
- Python之Pandas中Series、DataFrame
- pandas 的数据结构(Series, DataFrame)
- Pandas groupby apply agg 区别 运行自定义函数
- Pandas入门1-Series与DataFrame
- Python之Pandas中Series、DataFrame实践
- pandas中Series,DataFrame的连接(拼接)
- 利用Python进行数据分析(7) pandas基础: Series和DataFrame的简单介绍
- mysql group by排序问题
- 数据分析之Pandas(一):Series、DataFrame基本操作及索引对象