在Pandas中把外部数值映射到数据框数值

  • Post category:Python

在 Pandas 中,我们可以用map()方法实现把外部数值映射到数据框数值的操作。具体步骤如下:

  1. 准备一个数据框。

“`
import pandas as pd

data = {
“name”: [“Tom”, “Jerry”, “Mike”, “Lucy”, “Jack”],
“gender”: [“male”, “male”, “male”, “female”, “male”],
“age”: [23, 25, 30, 21, 29]
}

df = pd.DataFrame(data)
print(df)
“`

输出结果为:

name gender age
0 Tom male 23
1 Jerry male 25
2 Mike male 30
3 Lucy female 21
4 Jack male 29

  1. 准备一个“外部数值映射表”。

gender_map = {
"male": 1,
"female": 0
}

在这个例子中,我们定义了一个字典 gender_map,将“male”映射为 1,将“female”映射为 0。

  1. 将“外部数值映射表”应用到数据框“gender”这一列中。

df["gender"] = df["gender"].map(gender_map)
print(df)

输出结果为:

name gender age
0 Tom 1 23
1 Jerry 1 25
2 Mike 1 30
3 Lucy 0 21
4 Jack 1 29

可以看到,我们成功将“male”转换为了 1,“female”转换为了 0。

值得注意的是,外部数值映射表不限于字典,可以是任何可迭代的数据类型,甚至是自定义的函数。另外,对于无法识别的映射值,map()函数默认会将其转换为NaN,可以使用fillna()方法来填充缺失值。