尝尝pandas(4)
今天来和大家学习pandas中几个重要的函数,它们分别是:
![](https://img.haomeiwen.com/i12048719/b48e653492709a0c.jpg)
apply
apply函数利用自定义函数对数据进行计算从而组成新的序列或表格。
![](https://img.haomeiwen.com/i12048719/02a0e74cc9cde953.jpg)
利用匿名函数计算每一列的最大值减去最小值,返回一个序列(Series)。
![](https://img.haomeiwen.com/i12048719/19c4efbf86cdc6b5.jpg)
可以把axis的值设置为1,从而计算每一行的最大值减去最小值。
![](https://img.haomeiwen.com/i12048719/8ddcd4b4fe95ff64.jpg)
concat
concat函数的作用是将两个序列或表格合并。
把两个序列进行堆叠操作。
![](https://img.haomeiwen.com/i12048719/6eb0002dfcc52c67.jpg)
为了将索引值连续排序,可以设置ignore_index的值为True,结果更加美观。
![](https://img.haomeiwen.com/i12048719/ff6252e8a03cdf8f.jpg)
为每一个序列编号,当然,由于不同属一个序列,这时候ignore_index的值就不能设置为True了。
![](https://img.haomeiwen.com/i12048719/563ced9be0f83a7c.jpg)
![](https://img.haomeiwen.com/i12048719/77fd12826997196e.jpg)
利用concat将两个表格进行堆叠。
![](https://img.haomeiwen.com/i12048719/cea193ac5f03d521.jpg)
将含有不同列名的两个表格合并,因为此时的join为默认值outer,可以理解为数学上的并,或者更直观的理解是,df1中的"丙"列为缺失值,df2中的"乙"列为缺失值,故而两个表格合并后的效果如下。
![](https://img.haomeiwen.com/i12048719/c15bb3f730ef4801.jpg)
将join参数设置为inner,可以理解为两个表格的交。
![](https://img.haomeiwen.com/i12048719/5f7d06827e7bb6de.jpg)
将axis设置为1,即沿着列堆叠。
![](https://img.haomeiwen.com/i12048719/e6c0ecf957ed3ca8.jpg)
因为两个表格的行索引均为默认值,所以存在冲突,如果把verify_integrity设置为True则报错,当然,它的默认值为False,所以这个不用担心。
![](https://img.haomeiwen.com/i12048719/6b7d927f55252f18.jpg)
groupby
顾名思义,groupby函数就是用来分组的。
为了演示方便,首先创建一个表格。
![](https://img.haomeiwen.com/i12048719/c86bd0a990c09d50.jpg)
以性别为基准,计算工资和年龄的总和,如果存在某一列不是数值类型,则忽略计算该列,不会报错。
![](https://img.haomeiwen.com/i12048719/fd7f7f716c41aeeb.jpg)
以性别和年龄为基准,计算工资的平均值。
![](https://img.haomeiwen.com/i12048719/bb128a1ffc1cc9ad.jpg)
append
看名字就知道了吧,这货就是用来添加序列或表格的,但是注意,它返回的是一个副本,也就是说原来的表格没有发生改变。
继续沿用上次的表格。
![](https://img.haomeiwen.com/i12048719/05947cfb08ac4d20.jpg)
把第二行添加到表格末尾。
![](https://img.haomeiwen.com/i12048719/31f75d3cfd951be3.jpg)
把第二三行添加到表格末尾。
![](https://img.haomeiwen.com/i12048719/eb03d22ec1905678.jpg)
merge
merge函数也是用来合并表格的,不过它和concat不太一样。concat只是机械地堆叠在一起,而merge更像是把两个表格柔和在一起。
以'A'为基准,将两个表格柔和在一起,注意参数on的值必须是两个表格都存在的。
![](https://img.haomeiwen.com/i12048719/81c7f61fba61c91b.jpg)
concat函数的结果。
![](https://img.haomeiwen.com/i12048719/8e763ad4f37174de.jpg)
另一种用法。
![](https://img.haomeiwen.com/i12048719/2ae1cce57a52bbab.jpg)
如果"A"中存在不同的值,则舍弃不同的值,只取公共部分。
![](https://img.haomeiwen.com/i12048719/3096569a576dd77d.jpg)
上面的结果归根结底是因为参数how取默认值inner,即交集,如果将其设置为outer,则相当于并集。
![](https://img.haomeiwen.com/i12048719/13c6a36a5600632d.jpg)
除此之外,how的参数还可以设置为"left"(以第一个表格为标准,第二个表格中相对于基准on的参数不存在的值取缺失值)和"right"(以第二个表格为标准,第一个表格中相对于基准on的参数不存在的值取缺失值)
![](https://img.haomeiwen.com/i12048719/6a0bbf0cb0444a1a.jpg)
pivot_table
pivot_table函数的作用是创建数据透视表。
为了演示方便,我创建了以下的表格。
![](https://img.haomeiwen.com/i12048719/54e77ac1453dc63c.jpg)
将身高和体重作为要处理的数据,将班级和性别作为行索引,方法为计算平均值。
![](https://img.haomeiwen.com/i12048719/c5ad4201e39670cc.jpg)
计算身高的平均值和体重的总和。
![](https://img.haomeiwen.com/i12048719/d378f95066707517.jpg)
其它
计算各元素的个数。
![](https://img.haomeiwen.com/i12048719/b644b321bd8f7837.jpg)
将字符串连接起来,注意此时序列中的值只能是字符串类型。
![](https://img.haomeiwen.com/i12048719/bfeb8e662ae838f5.jpg)
将字符串改为大写。
![](https://img.haomeiwen.com/i12048719/3f6571f6f2a8fc37.jpg)
今天的内容就是这些,下期见,祝有美好的一天。
![](https://img.haomeiwen.com/i12048719/44f37c8330fe78e1.jpg)