📜  Python|熊猫.map()(1)

📅  最后修改于: 2023-12-03 15:04:27.233000             🧑  作者: Mango

Python pandas的map()方法介绍

在Python的pandas库中,map()方法用于将Series里的所有元素映射到另一个集合中的对应元素。这个集合可以是函数、字典或Series。

语法格式
Series.map(arg, na_action=None)

其中,arg代表映射的集合,na_action则是对于缺失值的处理方式。

参数说明
  • arg:此参数可以为函数、字典或Series,根据arg的类型不同,map()的行为也不同。

    • 若arg为一个函数,则调用此方法对Series中每个元素进行处理,并将结果作为对应元素的返回值构建成一个新的Series。
    • 若arg为一个字典,则将字典的键作为Series中的元素进行匹配,找到对应的值作为新的Series中的元素,若找不到匹配的元素,则返回NaN。
    • 若arg为一个Series,则将Series中的元素作为匹配键进行匹配,找到对应的值作为新的Series中的元素,若找不到匹配的元素,则返回NaN。
  • na_action:对于缺失值(NaN)的处理方式,默认为None,即保留原值。

示例
示例一:使用函数进行映射
import pandas as pd
import numpy as np

s = pd.Series([1, 2, 3, 4, 5])
s_result = s.map(lambda x: x**2)
print(s_result)

输出结果为:

0     1
1     4
2     9
3    16
4    25
dtype: int64
示例二:使用字典进行映射
import pandas as pd
import numpy as np

s = pd.Series(['apple', 'banana', 'pear'])
s_result = s.map({'apple': 1, 'banana': 2, 'orange': 3})
print(s_result)

输出结果为:

0    1.0
1    2.0
2    NaN
dtype: float64
示例三:使用Series进行映射
import pandas as pd
import numpy as np

s1 = pd.Series(['apple', 'banana', 'pear'])
s2 = pd.Series([1, 2, 3])
s_result = s1.map(s2)
print(s_result)

输出结果为:

0    1
1    2
2    3
dtype: int64
总结

pandas的map()方法是一个非常有用的数据转换函数,它可以根据不同的输入参数将Series中的元素映射到另一个集合中,实现快速数据清洗和处理。