利用Python进行数据分析(六)之pandas基本功能续
来源:互联网 发布:网站快速排名软件 编辑:程序博客网 时间:2024/05/29 15:05
排序和排名
按索引排序
obj.sort_index() frame.sort_index()
DataFrame也可以指明具体的哪个轴frame.sort_index(axis=1)则为按照columns索引排序。
In[170]:obj.sort_index()0ut[170]:a 1b 2c 3d 0
import numpy as npfrom pandas import Series,DataFrameIn[171]:frame=DataFrame(np.arange(8).reshape((2,4)),index=['three',‘one'],columns=['d\",‘a','b','c])#0-7 2行四列 还记得把~In [172]:frame.sort_index() In[173]:frame.sort_index(axis=1) d a b c a b c done 4 5 6 7 three 1 2 3 0three 0 1 2 3 one 5 6 7 4
默认为升序,降序则添加参数ascending=False
按值排序
缺失值默认放末尾。
obj.sort_values()
(作者写的是obj.order()但是最新的pandas已经没有使用了)
frame.sort_values(by=[‘a’,’b’])
(同样作者写的是frame.sort_index(by=[‘a’,’b’])但是最新的pandas已经没有使用了,并且会提示你使用sort_values())
frame=DataFrame({'b':[4,7,-3,2],'a':[0,1,0,1]}) a b0 0 41 1 72 0 -33 1 2frame.sort_values(by=['a','b']) a b2 0 -30 0 43 1 21 1 7
排名
顾名思义 排名嘛,按照值的出现顺序从1开始排名,有相同的时取平均数比如45相同则4.5,678相同则均为7这样的形式。
In [183]:obj=Series([7,-5,7,4,2,0,4,7])In [184]:obj.rank()0ut[184]:0 7.01 1.02 7.03 4.54 3.05 2.06 4.57 7.0dtype: float64
当然,你可能排名的时候只是想显示12345连续的,相同的时候按照他的出现顺序,则可以使用method=’first’。可选min,max即分别为相同值的最小顺序或者最大顺序,’average’默认:在相等分组中,为各个值分配平均排名。
In [185]:obj.rank(method='first')out[185]:0 6.01 1.02 7.03 4.04 3.05 2.06 5.07 8.0dtype: float64
降序只要添加参数ascending=False。
带有重复值的轴索引
什么意思呢,就是具有相同的索引,这个也是允许存在的,
obj=Series(range(5),index=['a','a','b','b','c'])#查看索引是否唯一obj.index.is_uniqueout:False#取值对应多个时,返回一个Seriesobj['a']out:a 0 a 1dtype: int32#DataFrame 取值也一样df=DataFrame(np.random.randn(4,3),index=['a','a','b','b'])df.ix['b']0ut[197]: 0 1 2b 1.669025 -0.438570 -0.539741b 0.476985 3.248944 -1.021228
总结
pandas的基本功能通过这两节就看完了,主要介绍的是Series和Dataframe两种数据结构的重建索引reindex,通过drop来删除某些索引,obj[‘b’,’c’]选取时bc索引是都包含的,DataFrame的行上标签索引通过ix来实现,不用时选择出来的是列!不同索引的pandas之间进行算术运算,以及对其函数级操作,这章节我们对其排序排名,以及带过的描述了下有重复索引的时候。总的来说,基本的简单使用在这两节都有描述,可以根据我上面描述的回顾一下。不清楚再翻回去看看~
- 利用Python进行数据分析(六)之pandas基本功能
- 利用Python进行数据分析(六)之pandas基本功能续
- 《利用Python进行数据分析》第五章 pandas的基本功能
- 利用Python进行数据分析(五)之pandas入门
- 利用Python数据分析:pandas入门(六)
- 利用 Python 进行数据分析(十二)pandas:数据合并
- 利用 Python 进行数据分析(十二)pandas:数据合并
- 利用Python 的 Pandas进行数据分析
- 利用python进行数据分析-pandas入门
- 《利用Python 进行数据分析》pandas 总结
- python数据分析pandas包入门学习(二)基本功能
- 利用Python进行数据分析 pandas基础: 处理缺失数据
- 利用Python进行数据分析(12) pandas基础: 数据合并
- 利用Python进行数据分析(14) pandas基础: 数据转换
- 利用python进行数据分析-pandas入门2
- 利用python进行数据分析-pandas入门3
- 利用python进行数据分析——pandas
- 利用Python进行数据分析(15) pandas基础: 字符串操作
- RedHat Enterprise Linux 7关闭防火墙方法 在之前的版本中关闭防火墙等服务的命令是 service iptables stop /etc/init.d/iptables st
- C语言-贪吃蛇设计思路——从不知所措到逐渐清晰
- Leetcode 91. Decode Ways
- STS由于找不到JAVA_HOME而无法启动的问题
- Linux内核笔记 -- Events
- 利用Python进行数据分析(六)之pandas基本功能续
- 笔记:北航 余贵珍 深度学习在自动驾驶环境感知中的应用
- 链表的操作(C)
- JavaScript 数字与字符串 比较大小
- 在IntelliJ IDEA下初始化搭建Maven + SpringMVC开发环境(详细)
- Linux内核笔记 -- IRQ
- 标签页间通信
- break和continue的区别
- Bryce1010的操作系统课程设计