今天咱们将一下如何查看Pandas中的各种数据以及对Pandas进行处理的一些方法,经过这些方法咱们能够更快的掌握Pandas对数据进行处理:app
1、描述与统计函数
有时会咱们在获取到数据以后,想要查看一下数据的简单统计指标(好比最大值,最小值,平均值,中位数等等),如想要查看年龄的最大值,就能够直接对年龄这一列调用max方法就能够了。spa
一、查看最大值.net
第一种是使用np.max()对info表中的年龄列进行操做设计
第二种是使用np.max()对info表下的年龄进行操做3d
第三种是info表下的年龄进行max()查找对象
二、查看均值排序
相似的能够经过调用min、mean、quantile、sum 方法能够实现最小值、平均值、中位数以及求和。能够看到,对一个Series调用这几个方法以后,返回的都只是一个聚合结果。索引
三、按轴求和ci
下面给你们介绍一个有意思的方法:cumsum(),看这个方法的名字就能看出来它跟sum方法有点关系,应该是用来求和之类的,事实上的确如此,cumsum也是用来求和的,不过他是用来累加求和的,也就是经过它获得的结果与原始的Series或DataFrame的大小相同。
经过结果能够看到,cumsum最后的结果就是将上一次求和的结果与原始当前值求和做为当前值。
固然若是只是这种功能的话,也就没有那么有意思了,这个方法有意思的是能够对字符串类型的对象进行操做。
四、查看表格信息
虽说常见的各类统计值都有对应的方法,若是我想要获得多个指标的话,就须要调用屡次方法,是否是显得有点麻烦呢?
Pandas 设计者天然也考虑到了这个问题,想要一次性获取多个统计指标,只需调用 describe 方法便可。
能够看到,直接调用describe方法后,会显示出数字类型的一些统计指标好比:总数,平均数,标准差,最小值,最大值,四分位数等
若是想要查看非数字类型的列的统计指标的话,能够设置include=[object]来得到数据。
六、统计某个值出现的次数:value_counts
七、查看最小值或最大值对应的索引
若是想要查看某列最大值或最小值对应的的索引可使用idxmax或idxmin方法来完成。
若是索引不是数据的话将会返回该行的行数。
八、离散化
有时候咱们在处理数据的时候会碰到一些需求,好比想要将年龄进行离散化,也就是将年龄分红几个区间,这里咱们想要将年龄分红三个区间段,就可使用pandas的cut方法来完成。
经过这个结果能够看到,cut自动生成了等距的离散区间,若是本身想定义也是没有问题的。
这里咱们将区间定义为3个区间,1-30之间属于青少年英雄,30-60之间的属于中年英雄,60-5000就属于不正常的的地球英雄了。有时候离散化以后,想要给每一个区间起一个名字,那么咱们能够指定labels参数
使用loc[]给表添加列
除了可使用cut进行离散化以外,qcut也能够实现离散化。Cut是根据每一个值的大小来进行离散化,qcut是根据每一个值出现的次数进行离散化的。
九、排序功能
在进行数据分析时,少不了的就是进行数据排序。Pandas支持两种排序方式:按轴(索引或列)排序和按实际值排序。
9.一、按索引排序
下面这个是英文索引下的排序
按性别排序:
按年龄排序:
若是想要进行倒序排列,能够设置参数axis=1或则ascending=False
9.二、按值排序
若是想要实现按照实际值来排序,例如想要按照年龄排序。
使用sort_values方法,参数设置by=age便可
有时候咱们可能须要按照多个值来排序,例如:按照年龄和城市来一块儿排序,能够设置参数 by 为一个 list 便可,须要注意的是:list 中每一个元素的顺序会影响排序优先级的,先分组在排序,最后一个为排序标准。
有时候数据量太大的时候,咱们可能只须要看前几行或者后几行的数据,那么这个时候咱们就能够用head()和tail()方法查看,head()方法默认只打印前5行内容,括号内能够填写想要的行数,tail()方法同理,只不过tail()方法是查看后五行的数据。
通常在排序后,咱们可能须要获取最大的n个值或最小值的n个值,咱们可使用 nlargest 和 nsmallest 方法来完成,这比先进行排序,再使用 head(n)方法快得多。
2、函数应用
1.根据现有列生成新的列
二、经常使用函数
虽然说 Pandas 为咱们提供了很是丰富的函数,有时候咱们可能须要本身定制一些函数,并将它应用到 DataFrame 或 Series。经常使用到的函数有map、apply、applymap。
又好比咱们能够经过城市来判断地球仍是外星,咱们能够这么操做。
对于series来讲,apply方法和map方法差异不大
可是对于DataFrame来讲,apply方法的做用对象是一行或一列数据
3、修改列/索引名称
在使用 DataFrame 的过程当中,常常会遇到修改列名,索引名等状况。使用 rename 轻松能够实现。修改列名只须要设置参数 columns 便可。
4、类型操做
一、get_dtype_counts()
若是想要获取每种类型的列数的话,可使用 get_dtype_counts 方法
二、 astype()
若是想要转换数据类型的话,能够经过astype来完成
2.一、生成一列年龄的对数列,而且列元素元素为整数列
2.2将年龄列改成浮点型
三、其余方法
有时候会涉及到将 object 类型转为其余类型,常见的有转为数字、日期、时间差,Pandas 中分别对应 to_numeric、to_datetime、to_timedelta 方法。
5、表合并的方式
一、append()方式
二、concat()
2.一、纵向合并(axis=0(默认为0))
2.二、横向合并(axis=1)