重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
创新互联www.cdcxhl.cn八线动态BGP香港云服务器提供商,新人活动买多久送多久,划算不套路!
创新互联建站-专业网站定制、快速模板网站建设、高性价比岐山网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式岐山网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖岐山地区。费用合理售后完善,十多年实体公司更值得信赖。这篇文章将为大家详细讲解python apply和map有什么区别,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
在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
df1.apply(lambda x :x.max()-x.min(),axis=0) #默认参数axis=0,表示按列对数据进行操作 #从下面的结果可以看出,我们使用了apply函数之后,系统自动按列找大值和最小值计算,每一列输出一个值
sales1 4
sales2 12
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结构的话再看是要按行还是按列进行操作来选择对应的函数即可。
关于python apply和map有什么区别就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。