Pandas简明教程:五、Pandas简单统计操作及通用方式


前面已经提到,Pandas的DataFrame本质上其实就是一个表。对应Excel,我们通常会用到各种统计方法。那么这篇教程就简单叙述一下Pandas中基本的统计方法以及通用的调用规则。

1、DataFrame的方法使用举例

DataFrame中封装了许多方便查看的方法,比如:

  • 查看首尾
df.head()

   月份  姓名 性别  应发工资   实发工资  职位
0   1  张三  男  2000   1500  主犯
1   2  张三  男  None   1000  主犯
2   3  张三  女  2000  15000  主犯
3   4  张三  女  2000   1500  主犯
4   5  张三  女  2000   1500  主犯


df.tail()

    月份  姓名 性别  应发工资  实发工资  职位
8    5  李四  男  1800  1300  从犯
9    1  王五  女  1800  1300  龙套
10   2  王五  女  1800  1300  龙套
11   3  王五  女  1800  1300  龙套
12   4  王五  女  1800  1300  龙套

当然还可以在方法中输入数字,表示查看前几行和后几行。

2、DataFrame的方法调用通用方式

从上面的例子可以看到,DataFrame在调用方法时就是在最后加入.+方法名即可。另外也注意到,这种方式返回的类型仍然是一个DataFrame。事实上在调用这些方法时,这些方法的作用域通常是对每一列进行作用,比如:

df.max()

月份          5
姓名         王五
性别          男
应发工资     2000
实发工资    15000
职位         龙套
dtype: object

df.min()

月份         1
姓名        张三
性别         女
应发工资    1800
实发工资    1000
职位        主犯
dtype: object

结合原表,很容易看到实际上返回的值是对每一例取最大或者最小再返回的。而此时返回的值是一个Series,原来的表头变成了Index

那么对应的,我们其实也可以猜到一些用法,比如求平均、中位数等等:

df.mean()

月份         3.000000
应发工资    1866.666667
实发工资    2376.923077
dtype: float64

df.median()

月份         3.0
应发工资    1800.0
实发工资    1300.0
dtype: float64

并且有意思的是,这些方法会自动选择可以进行操作的列。比如这里就只返回了数值列的平均和中位数。

类似的方法还有很多,这里就不一一列举,具体使用时可以参考:Pandas中DataFrame的属性及方法大全

3、DataFrame直接调用其它方法

这里再重点介绍一个方法apply,该方法是将函数直接传入DataFrame并沿指定的方向进行计算,比如

df.apply(np.max)

月份          5
姓名         王五
性别          男
应发工资     2000
实发工资    15000
职位         龙套
dtype: object

这里默认是按列操作,如果要换成按行操作则可以设置参数axis=1

不过对这们这组数据,直接按行操作会出现样的问题:

df.apply(np.max,axis=1)
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-186-956304eff83f> in <module>
----> 1 df.apply(np.max,axis=1)


TypeError: '>=' not supported between instances of 'int' and 'str'

错误说大于等于比较不能作用于整数和字符串。所以在使用时要注意事先检查该函数是否能应用于想作用的区域。

本系列教程教程完整目录:

一、Pandas简介与安装

二、Pandas基本数据结构-DataFrame与Series

三、Pandas文件读写

四、Pandas数据索引方式

五、Pandas简单统计操作及通用方式

六、Pandas条件查询

七、Pandas缺失数据的处理(数据清洗基础)

八、Pandas数据透视表

九、表的合并、连接、拼接(数据聚合基础)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

半个冯博士

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值