首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Series.map与Series.apply的区别

Series.map与Series.apply的区别
EN

Stack Overflow用户
提问于 2020-09-01 20:10:59
回答 1查看 267关注 0票数 2

我理解map用于pd.Seriesapply用于pd.DataFrame,但使用mapapply用于pd.Series有什么区别?在我看来,他们基本上是在做同样的事情:

代码语言:javascript
复制
>>> df['title'].map(  lambda value: str(value) + 'x')
>>> df['title'].apply(lambda value: str(value) + 'x')

两者似乎都只是向函数/映射发送一个值。这两者之间是否有实际的区别,如果是的话,会有什么例子来说明呢?或者,这些应用于pd.Series时是可互换的吗?

供参考,从文档:

例如,map使用dictapply使用func,但实际上,它们看起来是一样的吗?两者都可以使用一个函数。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-01 20:43:27

Series.map的另一段提到,Series.apply用于在一个系列中应用更复杂的函数。

如果对于一对一的关系,可以用字典或返回一个值的一个参数的函数来表示Series.map

Series.apply可以使用返回多个参数的函数(实际上是一个完整的Series)。在这种情况下,Series.apply的结果将是一个DataFrame

换句话说,您总是可以在使用apply的地方使用map。如果您将一个dict (例如d)传递给map,您可以传递一个简单的lambda来应用:lambda x: d[x]。但是,如果使用applySeries转换为DataFrame,则不能使用map

因此,map可能会进行更多的优化,从而适用于一对一的转换,并且应该尽可能地使用而不是apply

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63694785

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档