大家好,
我有一个类似的数据帧:
id | name | personnelNumber
1 | abcd | 00013
2 | efgh | 00142
19 | abcd | 00013
84 | abcd | 00013
103 | efgh | 00142
117 | mnop | 00087
我还有一本字典,里面有随机值和数据帧中的"personalNumber":
{'00013': 41, '00087': 725, '00142': 19}
我的问题是:有没有一种方法可以根据匹配的"personalNumber"将值添加到新列中?我想收到这样的东西:
id | name | personnelNumber | value
1 | abcd | 00013 | 41
2 | efgh | 00142 | 19
19 | abcd | 00013 | 41
84 | abcd | 00013 | 41
103 | efgh | 00142 | 19
117 | mnop | 00087 | 725
感谢您的建议和帮助!
假设personnelNumber
的类型为string
(因为前导零(,则可以使用pd.Series.map
d = {'00013': 41, '00087': 725, '00142': 19}
df['value'] = df.personnelNumber.map(d)
df
输出:
id name personnelNumber value
0 1 abcd 00013 41
1 2 efgh 00142 19
2 19 abcd 00013 41
3 84 abcd 00013 41
4 103 efgh 00142 19
5 117 mnop 00087 725