【python】python中的apply(),applymap(),map() 的用法和区别

匿名 (未验证) 提交于 2019-12-02 22:11:45

在Python中如果想要对数据使用函数,可以借助apply(),applymap(),map() 来应用函数,括号里面可以是直接函数式,或者自定义函数(def)或者匿名函数(lambad)

import pandas as pd import numpy as np from pandas import DataFrame from pandas import Series df1= DataFrame({                 "sales1":[-1,2,3],                 "sales2":[3,-5,7],                }) df1 


1、当我们要对数据框(DataFrame)的数据进行按行或按列操作时用apply()

df1.apply(lambda x :x.max()-x.min(),axis=1) #axis=1,表示按行对数据进行操作 #从下面的结果可以看出,我们使用了apply函数之后,系统自动按行找最大值和最小值计算,每一行输出一个值 

0 4
1 7
2 4
dtype: int64

2、当我们要对数据框(DataFrame)的每一个数据进行操作时用applymap(),返回结果是DataFrame格式

df1.applymap(lambda x : 1 if x>0 else 0) #从下面的结果可以看出,我们使用了applymap函数之后, #系统自动对每一个数据进行判断,判断之后输出结果 


3、当我们要对Series的每一个数据进行操作时用map()

df1.sales1.map(lambda x : 1 if x>0 else 0) #df1.sales1就是一个Series 

0 0
1 1
2 1
Name: sales1, dtype: int64

4、总结:要对数据进行应用函数时,先看数据结构是DataFrame还是Series,Seriesj结构直接用map(),DataFrame结构的话再看是要按行还是按列进行操作来选择对应的函数即可~

文章来源: https://blog.csdn.net/weixin_42899024/article/details/87521321
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!