dask.dataframe.Index.map

dask.dataframe.Index.map

Index.map(arg, na_action=None, meta=_NoDefault.no_default, is_monotonic=False)[源代码]

使用输入映射或函数映射值。

此文档字符串是从 pandas.core.indexes.base.Index.map 复制而来的。

Dask 版本可能存在一些不一致性。

请注意,此方法会清除任何已知的分区。

如果你的映射函数是单调递增的,那么使用 is_monotonic 将映射函数应用于旧的分区,并将新的分区分配给输出。

参数
映射器函数, 字典, 或 Series (Dask 不支持)

映射对应关系。

na_action{None, ‘ignore’}

如果为 ‘ignore’,则传播 NA 值,而不将它们传递给映射对应关系。

metapd.DataFrame, pd.Series, dict, iterable, tuple, optional

一个空的 pd.DataFramepd.Series,其数据类型和列名与输出匹配。此元数据对于 dask dataframe 中的许多算法正常工作是必要的。为了便于使用,还提供了一些替代输入。除了 DataFrame 之外,还可以提供 {name: dtype} 的字典或 (name, dtype) 的可迭代对象(注意名称的顺序应与列的顺序匹配)。除了系列之外,还可以使用 (name, dtype) 的元组。如果未提供,dask 将尝试推断元数据。这可能会导致意外结果,因此建议提供 meta。有关更多信息,请参阅 dask.dataframe.utils.make_meta

返回
Union[Index, MultiIndex]

映射函数应用于索引的输出。如果函数返回一个包含多个元素的元组,将返回一个 MultiIndex。

示例

>>> idx = pd.Index([1, 2, 3])  
>>> idx.map({1: 'a', 2: 'b', 3: 'c'})  
Index(['a', 'b', 'c'], dtype='object')

使用 map 与函数:

>>> idx = pd.Index([1, 2, 3])  
>>> idx.map('I am a {}'.format)  
Index(['I am a 1', 'I am a 2', 'I am a 3'], dtype='object')
>>> idx = pd.Index(['a', 'b', 'c'])  
>>> idx.map(lambda x: x.upper())  
Index(['A', 'B', 'C'], dtype='object')