pandas.Series.map() 与 pandas.Series.apply() 的区别!

输出多列 要用apply!


  • 输入单列
  • 输出单列
  • map, apply
  • 输出多列
  • 输入多列
  • apply


pandas.Series.map()pandas.Series.apply() 都是 Pandas 库中的方法,用于对 Series 中的每个元素进行操作。但是,它们在使用和功能上有一些区别¹²⁴⁵:

  1. pandas.Series.map()
  • map() 方法主要用于根据输入的对应关系映射序列的值¹⁵。
  • map() 可以接受一个函数或字典作为参数¹⁵。如果参数是字典,那么它会完成元素的替换¹⁵。
  • map() 方法不能接受额外的参数⁴。
  1. pandas.Series.apply()
  • apply() 方法可以应用一个函数到 Series 的每个元素¹²。
  • apply() 方法的参数可以是一个函数,这个函数可以是复杂的,接受多个参数¹²。
  • apply() 方法可以接受函数之外的额外参数¹²⁴。

以下是一个简单的例子来说明这两个方法的使用:

import pandas as pd

# 创建一个 Series
s = pd.Series(['cat', 'dog', 'cow'])

# 使用 map 方法
s_map = s.map({'cat': 'kitten', 'dog': 'puppy'})
print(s_map)

# 使用 apply 方法
s_apply = s.apply(lambda x: x.upper())
print(s_apply)

在这个例子中,map() 方法将 'cat' 替换为 'kitten','dog' 替换为 'puppy',而 apply() 方法将每个元素转换为大写¹²⁴⁵。

总的来说,map()apply() 都是非常有用的方法,选择使用哪一个主要取决于你的具体需求。希望这些信息对你有所帮助!源: 与必应的对话, 2024/2/7

(1) Pandas教程 | 数据处理三板斧——map、apply、applymap详解 - 知乎. https://zhuanlan.zhihu.com/p/100064394.

(2) 一文弄懂apply、map和applymap三种函数的区别 - 知乎. https://zhuanlan.zhihu.com/p/133722455.

(3) Pandas核心操作map、apply、applymap超详解(面试常问) - 知乎专栏. https://zhuanlan.zhihu.com/p/584036056.

(4) Pandas map 数值映射 - 知乎. https://zhuanlan.zhihu.com/p/399847566.

(5) Pandas核心操作map、apply、applymap超详解(面试常问) - 知乎专栏. https://bing.com/search?q=pandas.Series.map()+与+pandas.Series.apply()+区别.

(6) Pandas map 数值映射 - 知乎. https://www.zhihu.com/tardis/zm/art/399847566.

(7) undefined. https://bing.com/search?q=.