前言:
在进行数据分析时,难免需要对数据集应用一些我们自定义的一些函数,或者其他库的函数,得到我们想要的数据,这种情况下,可能大家第一时间想到的是使用for循环遍历Dataframe对象,取到指定行/列的数据再进行自定义函数的应用,当然这种方法完全可以实现,但是效率不高,接下来就来介绍一下在Pandas中如何对数据集高效的进行自定义函数的应用。
应用函数
apply 方法
apply()
函数是一个自定义函数作用于某一行或几行,或者某一列或多列上的每一个元素, 使用格式如下:
df.apply(func, axis=0, *args, **kwargs)
参数如下:
- func:指定函数
- axis:指定作用于行还是列,默认为0,表示作用于列,设置为1表示作用于行
- *args&**kwargs:接收任意数量、类型的参数,这些参数被传递到函数func
例如,对下面Dataframe执行进行操作:
自定义"返回最大值"的函数并作用于该Dataframe:
def func(x):
return x.max()
df.apply(func)
结果输出如下:
可见,结果返回了每列最大的值,如果想返回每行最大的值,设置axis=1
即可。
当然apply()
也支持传递lambda匿名函数。
applymap 方法
applymap()
函数可以作用于DataFrame中的每一个元素,例如,转换DataFrame中数据的格式:
df.applymap(lambda x: '%.2f' % x)
注意:Pandas还提供了一个map()
方法,作用于Series对象,此类方法和Python原生的map()
方法都很类似。
到此这篇关于Python数据分析之 Pandas Dataframe应用自定义的文章就介绍到这了,更多相关Pandas Dataframe应用自定义内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!