Python数据分析之 Pandas Dataframe应用自定义函数

288 阅读2分钟

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第15天,点击查看活动详情

在进行数据分析时,难免需要对数据集应用一些我们自定义的一些函数,或者其他库的函数,得到我们想要的数据,这种情况下,可能大家第一时间想到的是使用for循环遍历Dataframe对象,取到指定行/列的数据再进行自定义函数的应用,当然这种方法完全可以实现,但是效率不高,接下来就来介绍一下在Pandas中如何对数据集高效的进行自定义函数的应用。

应用函数

apply 方法

apply()函数是一个自定义函数作用于某一行或几行,或者某一列或多列上的每一个元素, 使用格式如下:

df.apply(func, axis=0, *args, **kwargs)

参数如下:

  • func:指定函数
  • axis:指定作用于行还是列,默认为0,表示作用于列,设置为1表示作用于行
  • *args&**kwargs:接收任意数量、类型的参数,这些参数被传递到函数func

例如,对下面Dataframe执行进行操作: image.png 自定义"返回最大值"的函数并作用于该Dataframe:

def func(x):
    return x.max()

df.apply(func)

结果输出如下:

image.png 可见,结果返回了每列最大的值,如果想返回每行最大的值,设置axis=1即可。

当然apply()也支持传递lambda匿名函数。

applymap 方法

applymap()函数可以作用于DataFrame中的每一个元素,例如,转换DataFrame中数据的格式:

df.applymap(lambda x: '%.2f' % x)

image.png

注意:Pandas还提供了一个map()方法,作用于Series对象,此类方法和Python原生的map()方法都很类似。

原创不易,如果小伙伴们觉得有帮助,麻烦点个赞再走呗~

最后,感谢女朋友在工作和生活中的包容、理解与支持 !