[python学习笔记]map(), apply()和applymap

系统 1812 0
原文链接: https://stackoverflow.com/questions/19798153/difference-between-map-applymap-and-apply-methods-in-pandas

原文链接:https://stackoverflow.com/questions/19798153/difference-between-map-applymap-and-apply-methods-in-pandas

apply()、map()和applymap()的区别就在于应用场景的不同

1.apply()
apply()将一个函数作用于DataFrame中的行或列,如下所示

            
              In [116]: frame = DataFrame(np.random.randn(4, 3), columns=list('bde'), index=['Utah', 'Ohio', 'Texas', 'Oregon'])
In [117]: frame
Out[117]: 
           b         d         e
Utah   -0.029638  1.081563  1.280300
Ohio    0.647747  0.831136 -1.549481
Texas   0.513416 -0.884417  0.195343
Oregon -0.485454 -0.477388 -0.309548

In [118]: f = lambda x: x.max() - x.min()
In [119]: frame.apply(f)
Out[119]: 
b    1.133201
d    1.965980
e    2.829781
dtype: float64

            
          

2.applymap()
applymap()则作用于DataFrame中的每一个元素,如下所示

            
              In [120]: format = lambda x: '%.2f' % x
In [121]: frame.applymap(format)
Out[121]: 
        b      d      e
Utah    -0.03   1.08   1.28
Ohio     0.65   0.83  -1.55
Texas    0.51  -0.88   0.20
Oregon  -0.49  -0.48  -0.31

            
          

3.map()
map()是一个Series的函数,DataFrame结构中无法使用map()。map()则是将函数作用于Series中的每一个元素,如下所示

            
              In [122]: frame['e'].map(format)
Out[122]: 
Utah       1.28
Ohio      -1.55
Texas      0.20
Oregon    -0.31
Name: e, dtype: object

            
          

总结:
1.apply()是一种让函数作用于DataFrame中行或列的操作。
2.applymap()是一种让函数作用于DataFrame每一个元素的操作。
3.map()是一种让函数作用于Series每一个元素的操作。


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论