在进行数据分析时,难免需要对数据集应用一些我们自定义的一些函数,或者其他库的函数,得到我们想要的数据,这种情况下,可能大家第一时间想到的是使用for循环遍历Dataframe对象,取到指定行/列的数据再进行自定义函数的应用,当然这种方法完全可以实现,但是效率不高,接下来就来介绍一下在Pandas中如何对数据集高效的进行自定义函数的应用。
apply()
函数是一个自定义函数作用于某一行或几行,或者某一列或多列上的每一个元素, 使用格式如下:
df.apply(func, axis=0, *args, **kwargs)
参数如下:
例如,对下面Dataframe执行进行操作:
自定义"返回最大值"的函数并作用于该Dataframe:
def func(x): return x.max() df.apply(func)
结果输出如下:
可见,结果返回了每列最大的值,如果想返回每行最大的值,设置axis=1
即可。
当然apply()
也支持传递lambda匿名函数。
applymap()
函数可以作用于DataFrame中的每一个元素,例如,转换DataFrame中数据的格式:
df.applymap(lambda x: '%.2f' % x)
注意:Pandas还提供了一个map()
方法,作用于Series对象,此类方法和Python原生的map()
方法都很类似。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
长按识别二维码并关注微信
更方便到期提醒、手机管理