首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Pandas库中的函数应用和映射

操作元素的函数

pandas库以NumPy为基础,并对它的很多功能进行了扩展,以用来操作新数据结构Series和DataFrame。通用函数就是经过扩展得到的功能,这类函数能够对数据结构中的元素进行操作,因此特别有效。

Pandas库中的函数应用和映射,例如,使用NumPy的np.sqrt( )函数就能计算DataFrame对戏那个每个元素的平方根。

按行或列执行操作的函数

除了通用函数,用户还可以自己定义函数。需要注意的是这些函数对一维数组进行运算,返回结果为一个数值。例如,我们可以定义一个计算数组元素取值范围的lambda函数。

还可以用下面这种形式定义函数,其实关于函数定义方面的知识,我们在前面都有过系统的讲解,使用def关键字就可以进行函数的定义啦,这边我们再来回顾一下:

用apply( )函数可以在DataFrame对象上调用刚定义的函数。

然而,每一列的运算结果为一个数值。如果你想用函数处理行而不是列,需将axis选项设置为1.

apply( )函数并不是一定要返回一个标量,它还可以返回Series对象,因而可以借助它同时执行多个函数。每调用一次函数,就会有两个或两个以上的返回结果。我们可以像下面这样指定一个函数。

像之前一样,应用这个函数,但是返回结果不再是Series而是DataFrame对象,并且DataFrame对象的行数和函数返回值的数量相等。

统计数据

数组的大多数统计函数对DataFrame对象依旧有效,因此没有必要使用apply( )函数。例如,sum( )和mean( )函数分别用来计算DataFrame对象元素之和及它们的均值。

describe( )函数能够计算多个统计量。

排序和排位次

另外一种使用索引机制的基础操作是排序(sorting)。对数据进行排序通常为必要操作,因此简化它的实现非常重要。pandas的sort_index( )函数返回一个跟原对象元素相同但顺序不同的新对象。

首先看一下Series对象各项的排序方法。要排序的索引只有一列,因此操作很简单。

输出结果中,各元素按照以字母表顺序升序排列(A--Z)的标签进行排序。这是默认的排序方法,但若指定ascending选项,将其值置为False,则可按照降序排列。

对于DataFrame对象,可分别对两条轴中的任意一条进行排序。如果要根据索引对行进行排序,可依旧使用sort_index( )函数,不用指定参数,前面已经说过;如果要按列进行排序,则需要指定axis选项,其值为1.

至此,我们已经讲解了根据索引进行排序的方法。但你往往还需要对数据结构中的元素进行排序,对于这个问题,Series和DataFrame对象有所不同,要区别对待。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190320A0IXNY00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券