Pandas中函数有哪些?怎么使用pandas apply函数?

本篇内容介绍了“Pandas中函数有哪些?怎么使用pandas apply()函数”的有关知识 , 在实际案例的操作过程中 , 不少人都会遇到这样的困境 , 接下来就让我带领大家学习一下如何处理这些情况吧!希望大家仔细阅读 , 能够有所收获!

Pandas中函数有哪些?怎么使用pandas apply函数?

文章插图
函数的作用大家一个都知道 , 它就是把作为一个对象 , 然后通过传递参数与其他函数构成联系 , 也可以用来当一个函数的返回值使用 , 今天主要了解的是apply()这个函数的用法 。
Pandas中的 apply() 函数它可以用做一个序列或者是一个表的数据结构 , 形成一个自动遍历的模式 , 可以对每一个元素运行一个指定的函数 。举例子向大家演示一下:
假设现在有组数据 , 表示的是学生的成绩:
  Name Nationality  Score
   小王           汉    450
   小李           回    460
   小黄           汉    460
民族是回族的话 , 那么可以让它的总分再加10分 , 可以使用 pandas 来做这种计算 , 我们需要在数据表中增加一列 , 来表示加分之后的成绩 。代码如下:
import pandas as pddf = pd.read_csv("student.csv")df['ExtraScore'] = df['Nationality'].apply(lambda x : 10 if x != '汉' else 0)df['TotalScore'] = df['Score'] + df['ExtraScore']我们是对Nationality 这一列进行判断 ,  利用pandas可以遍历每一个元素的值 , 然后使用lambda匿名函数来对这个值进行操作 , 最后将计算结果存储在一个新的 序列中返回 。上面代码在文本文件中显示的结果如下:
【Pandas中函数有哪些?怎么使用pandas apply函数?】Name Nationality  Score  ExtraScore  TotalScore小王  汉        450   0       400小李  回         460   10      470小黄  汉        460   0       460apply() 函数还可以可执行 python 内置的函数 , 比如我们想得到 Score 这一列字符的个数 , 如果用 apply() 的话代码如下:
df[' Score Length'] = df[' Score '].apply(len)就可以使用这一条命令 , 得到Score 这一列字符的个数 , 利用apply(len)进行计算 。
apply 函数接收带有参数的函数
该函数可以接收位置参数或者关键字参数 , 语法如下:
Series.apply(func, convert_dtype=True, args=(), **kwargs)对于 func 参数来说 , 这个函数定义中的第一个参数要存在的 , 所以 func () 除第一个参数之外的其它参数则被视为额外的参数 , 作为参数来传递 。我们可以继续使用刚才的那个例子 , 假设现在除回族之外 , 其他名族都有加分 , 我们把加分放在函数的参数中 , 先定义一个 add_extra() 函数:
def add_extra(nationality, extra):    if nationality != "回":        return extra    else:        return 0

推荐阅读