在 Pandas 中,我们可以用map()
方法实现把外部数值映射到数据框数值的操作。具体步骤如下:
- 准备一个数据框。
“`
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
- 准备一个“外部数值映射表”。
gender_map = {
"male": 1,
"female": 0
}
在这个例子中,我们定义了一个字典 gender_map,将“male”映射为 1,将“female”映射为 0。
- 将“外部数值映射表”应用到数据框“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()
方法来填充缺失值。