您现在的位置是:首页 > 文章详情

apply,map,applymap总结

日期:2018-09-02点击:399

Python中apply,map,applymap总结

pandas中DataFrame 数据类型,使用map,apply方法使用较多,做一下总结。参考https://www.cnblogs.com/cymwill/p/7577369.html

总结:

  • apply 用在dataframe上,用于对row或者column进行计算;
  • applymap 用于dataframe上,是元素级别的操作;
  • map (其实是python自带的)用于series上,是元素级别的操作。
df = pd.DataFrame(np.random.randint(0,10,(4, 3)), columns=list('bde'), index=range(4)) df b d e 0 4 9 3 1 3 1 0 2 4 8 0 3 2 9 9

apply:作用在dataframe的一行或一列上,也可以作用在series上

定义一个函数,

f = lambda x: x.max() - x.min()

这个函数可以结合apply作用在DataFrame类型的行或者列上

# 和加上axis = 0 ,默认是作用在列上 df.apply(f) b 2 d 8 e 9 dtype: int64 # axis = 1 ,默认是作用在行上 df.apply(f,axis =1) 0 6 1 3 2 8 3 7 dtype: int64

关于apply 传入多参数

def test(a,b): return a,b df['d'].apply(test,args=('ok',)) # args只能传入(元组) 0 (9, ok) 1 (1, ok) 2 (8, ok) 3 (9, ok) Name: d, dtype: object

applymap: 作用在dataframe的每一个元素上

定义f2函数

f2 = lambda x: x+1 if x%2==0 else x

applymap 会将函数作用在DataFrame每一个元素上

df.applymap(f2) b d e 0 5 9 3 1 3 1 1 2 5 9 1 3 3 9 9

map:作用将函数作用于一个Series的每一个元素

df['b'].map(f2) 0 5 1 3 2 5 3 3 Name: b, dtype: int64
原文链接:https://yq.aliyun.com/articles/632941
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章