dask.dataframe.Series.map
dask.dataframe.Series.map¶
- Series.map(arg, na_action=None, meta=_NoDefault.no_default)[源代码]¶
根据输入的映射或函数映射 Series 的值。
此文档字符串是从 pandas.core.series.Series.map 复制而来的。
Dask 版本可能存在一些不一致性。
用于将 Series 中的每个值替换为另一个值,该值可能源自一个函数、一个
dict
或一个Series
。- 参数
- 参数函数, collections.abc.Mapping 子类或 Series
映射对应关系。
- na_action{None, ‘ignore’}, 默认 None
如果为 ‘ignore’,则传播 NaN 值,而不将它们传递给映射对应关系。
- metapd.DataFrame, pd.Series, dict, iterable, tuple, optional
一个空的
pd.DataFrame
或pd.Series
,其数据类型和列名与输出匹配。此元数据对于 dask dataframe 中的许多算法正常工作是必要的。为了便于使用,还提供了一些替代输入。除了DataFrame
之外,还可以提供{name: dtype}
的字典或(name, dtype)
的可迭代对象(注意名称的顺序应与列的顺序匹配)。除了系列之外,还可以使用(name, dtype)
的元组。如果未提供,dask 将尝试推断元数据。这可能会导致意外结果,因此建议提供meta
。有关更多信息,请参阅dask.dataframe.utils.make_meta
。
- 返回
- 系列
与调用者相同的索引。
参见
Series.apply
对于在 Series 上应用更复杂的功能。
Series.replace
将 to_replace 中的值替换为 value。
DataFrame.apply
按行/列应用函数。
DataFrame.map
在整个DataFrame上逐元素应用一个函数。
注释
当
arg
是一个字典时,Series 中不在字典(作为键)中的值会被转换为NaN
。然而,如果该字典是一个定义了__missing__
的dict
子类(即提供默认值的方法),那么将使用这个默认值而不是NaN
。示例
>>> s = pd.Series(['cat', 'dog', np.nan, 'rabbit']) >>> s 0 cat 1 dog 2 NaN 3 rabbit dtype: object
map
接受一个dict
或一个Series
。在dict
中找不到的值会被转换为NaN
,除非该字典有一个默认值(例如defaultdict
):>>> s.map({'cat': 'kitten', 'dog': 'puppy'}) 0 kitten 1 puppy 2 NaN 3 NaN dtype: object
它还接受一个函数:
>>> s.map('I am a {}'.format) 0 I am a cat 1 I am a dog 2 I am a nan 3 I am a rabbit dtype: object
为了避免将函数应用于缺失值(并保持它们为
NaN
),可以使用na_action='ignore'
:>>> s.map('I am a {}'.format, na_action='ignore') 0 I am a cat 1 I am a dog 2 NaN 3 I am a rabbit dtype: object