如何创建逻辑以进行熊猫中的价值映射?

时间:2018-07-26 14:32:04

标签: python python-3.x pandas

我有一个如下所示的df(除了更多的列和行):

p_id
1
2
3

如何创建可扩展的逻辑以将某些值映射到p_id列中的某些数字?

示例df应该如下所示:

p_id: 
a
b
c

换句话说,我该如何创建对列1中的每个p_id更改为a的逻辑

1 个答案:

答案 0 :(得分:1)

可以使用Series.map并传递字典。

df = pd.DataFrame({'p_id': [1,2,3]})
df.p_id.map({1: 'a', 2: 'b', 3: 'c'})
#output:
0    a
1    b
2    c
Name: p_id, dtype: object

但是,如果将整数映射到字母,则可以使用chr函数

# 97 is the ascii code for `a`
(df.p_id+96).map(chr)
#outputs:
0    a
1    b
2    c
Name: p_id, dtype: object