浅谈Pandas中map, applymap and apply的区别
1.apply()
当想让方程作用在一维的向量上时,可以使用apply来完成,如下所示
In[116]:frame=DataFrame(np.random.randn(4,3),columns=list('bde'),index=['Utah','Ohio','Texas','Oregon']) In[117]:frame Out[117]: bde Utah-0.0296381.0815631.280300 Ohio0.6477470.831136-1.549481 Texas0.513416-0.8844170.195343 Oregon-0.485454-0.477388-0.309548 In[118]:f=lambdax:x.max()-x.min() In[119]:frame.apply(f) Out[119]: b1.133201 d1.965980 e2.829781 dtype:float64
但是因为大多数的列表统计方程(比如sum和mean)是DataFrame的函数,所以apply很多时候不是必须的
2.applymap()
如果想让方程作用于DataFrame中的每一个元素,可以使用applymap().用法如下所示
In[120]:format=lambdax:'%.2f'%x In[121]:frame.applymap(format) Out[121]: bde Utah-0.031.081.28 Ohio0.650.83-1.55 Texas0.51-0.880.20 Oregon-0.49-0.48-0.31
3.map()
map()只要是作用将函数作用于一个Series的每一个元素,用法如下所示
In[122]:frame['e'].map(format) Out[122]: Utah1.28 Ohio-1.55 Texas0.20 Oregon-0.31 Name:e,dtype:object
总的来说就是apply()是一种让函数作用于列或者行操作,applymap()是一种让函数作用于DataFrame每一个元素的操作,而map是一种让函数作用于Series每一个元素的操作。
以上这篇浅谈Pandas中map,applymapandapply的区别就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。