我有一个如下所示的df(除了更多的列和行):
p_id
1
2
3
如何创建可扩展的逻辑以将某些值映射到p_id列中的某些数字?
示例df应该如下所示:
p_id:
a
b
c
换句话说,我该如何创建对列1
中的每个p_id
更改为a
的逻辑
答案 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