为了账号安全,请及时绑定邮箱和手机立即绑定

PADAS中MAP、Applymap和应用方法的区别

PADAS中MAP、Applymap和应用方法的区别

胡说叔叔 2019-07-05 16:42:46
PADAS中MAP、Applymap和应用方法的区别你能告诉我什么时候使用这些矢量化方法和基本例子吗?我看到了map是Series方法,而其余的则是DataFrame方法。我对apply和applymap但是方法。为什么我们有两个将函数应用到DataFrame的方法?再次,简单的例子,说明使用将是伟大的!
查看完整描述

3 回答

?
翻翻过去那场雪

TA贡献2065条经验 获得超14个赞

在这些答案中有很好的信息,但我要添加我自己的内容,以清楚地总结哪些方法是按数组工作的还是按元素的方式工作。杰利米哈布达主要是这样做的,但没有提到序列。我没有代表对此发表评论。

  • DataFrame.apply一次在整行或列上操作。

  • DataFrame.applymapSeries.apply,和Series.map同时对一个元素进行操作。

的功能之间有很大的重叠。Series.applySeries.map这意味着这两种方法在大多数情况下都是可行的。不过,它们确实有一些细微的差异,其中一些是在OSA的回答中讨论过的。


查看完整回答
反对 回复 2019-07-05
?
烙印99

TA贡献1829条经验 获得超13个赞

添加到其他答案中,在Series也有地图应用.

应用程序可以使DataFrame从一个系列中提取出来。然而,map只会在另一个系列的每个单元格中放置一个序列,这可能不是您想要的。

In [40]: p=pd.Series([1,2,3])In [41]: pOut[31]:0    11    22    3dtype: int64In [42]: p.apply(lambda x: pd.Series([x, x]))Out[42]: 

   0  10  1  11  2  22  3  3In [43]: p.map(lambda x: pd.Series([x, x]))Out[43]: 0    0    11    1dtype: int641    0    
   21    2dtype: int642    0    31    3dtype: int64
dtype: object

另外,如果我有一个有副作用的函数,例如“连接到web服务器”,我可能会使用apply只是为了清晰。

series.apply(download_file_for_every_element)

Map不仅可以使用函数,还可以使用字典或其他系列。假设你想操纵排列.

拿走,带走

1 2 3 4 52 1 4 5 3

这个置换的平方是

1 2 3 4 51 2 5 3 4

您可以使用map..不确定是否记录了自应用程序,但它在0.15.1.

In [39]: p=pd.Series([1,0,3,4,2])In [40]: p.map(p)Out[40]: 0    01    12    43    24    3dtype: int64


查看完整回答
反对 回复 2019-07-05
  • 3 回答
  • 0 关注
  • 551 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信