117、pandas基本功能3

函数应用和映射
117、pandas基本功能3_第1张图片
1.png

lambda用法:
117、pandas基本功能3_第2张图片
2.png

在上面的例子中,lambda作为一个表达式,定义了一个匿名函数,上例的代码x为入口参数,x+1为函数体。

DataFrame的apply方法可以将函数应用到由各列或行所形成的一维数组上:
117、pandas基本功能3_第3张图片
3.png

传递给apply的函数可以返回由多个值组成的Series:
117、pandas基本功能3_第4张图片
3-1.png

使用applymap格式化字符串:
117、pandas基本功能3_第5张图片
4.png

排序和排名

根据条件对数据集排序(sorting)是一种重要的内置运算。要对行或列索引进行排序(按字典顺序),可使用sort_index方法,它将返回一个已排序的新对象:
117、pandas基本功能3_第6张图片
5.png

对于DataFrame,可以根据任意一个轴上的索引进行排序:
117、pandas基本功能3_第7张图片
6.png

Series 的sort_index(ascending=True)方法可以对 index 进行排序操作,ascending 参数用于控制升序或降序,默认为升序:
117、pandas基本功能3_第8张图片
7.png

若要按值对 Series 进行排序,当使用 .order(na_last=True, ascending=True, kind='mergesort') 方法,任何缺失值默认都会被放到 Series 的末尾。

在DataFrame上,根据一个或多个列中的值进行排序,可以将一个或多个列的名字传递给by:
117、pandas基本功能3_第9张图片
8.png

要根据多个列进行排序,传入名称的列表即可:
117、pandas基本功能3_第10张图片
9.png

排名(Series.rank(method='average', ascending=True))的作用与排序的不同之处在于,他会把对象的 values 替换成名次(从 1 到 n)。这时唯一的问题在于如何处理平级项,方法里的 method 参数就是起这个作用的,他有四个值可选:average, min, max, first。

其中rank函数返回从小到大排序的下标,对于平级的数,rank是通过“为各组分配一个平均排名”的方式破坏平级关系,如下:
117、pandas基本功能3_第11张图片
10.png

根据在原数据中出现的顺序给出排名:
117、pandas基本功能3_第12张图片
11.png

分别按降序和升序进行排名:
117、pandas基本功能3_第13张图片
12.png

下面列出用于破坏平级关系的method选项:
117、pandas基本功能3_第14张图片
13.png

DataFrame可以在行或列上计算排名:
117、pandas基本功能3_第15张图片
14.png

你可能感兴趣的:(117、pandas基本功能3)