maxframe.dataframe.Series.map#
- Series.map(arg, na_action=None, dtype=None, memory_scale=None, skip_infer=False)#
根据输入的对应关系映射 Series 的值。
用于将 Series 中的每个值替换为另一个值,该值可能来源于函数、
dict或Series。- 参数:
arg (function, collections.abc.Mapping subclass or Series) -- 映射对应关系。
na_action ({None, 'ignore'}, default None) -- 如果为 'ignore',则传播 NaN 值,而不将其传递给映射对应关系。
dtype (np.dtype, default None) -- 指定函数的返回类型。当无法确定函数的返回类型时必须指定。
memory_scale (float) -- 指定函数中内存使用量相对于输入大小的规模。
skip_infer (bool, default False) -- 当未指定 dtypes 或 output_type 时是否推断数据类型
- 返回:
与调用者相同的索引。
- 返回类型:
参见
Series.apply用于在 Series 上应用更复杂的函数。
DataFrame.apply按行或列应用函数。
DataFrame.applymap在整个 DataFrame 上逐元素应用函数。
备注
当
arg是字典时,Series 中不在字典中的值(作为键)将被转换为NaN。但如果该字典是定义了__missing__的dict子类(即提供了默认值的方法),则使用该默认值而不是NaN。示例
>>> import maxframe.tensor as mt >>> import maxframe.dataframe as md >>> s = md.Series(['cat', 'dog', mt.nan, 'rabbit']) >>> s.execute() 0 cat 1 dog 2 NaN 3 rabbit dtype: object
map接受dict或Series。在dict中找不到的值将被转换为NaN,除非该字典具有默认值(例如defaultdict):>>> s.map({'cat': 'kitten', 'dog': 'puppy'}).execute() 0 kitten 1 puppy 2 NaN 3 NaN dtype: object
它也接受一个函数:
>>> s.map('I am a {}'.format).execute() 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').execute() 0 I am a cat 1 I am a dog 2 NaN 3 I am a rabbit dtype: object