我的数据框中有由数字组成的行(其中一些是ID,而其他只是不相关的数字),我想创建一个新列,其名称与这些ID匹配,但删除不相关的数字。
我有一个与之匹配的字典,例如:
id_numbers = {"001" : "Matt", "002":"Chris", "003":"Jana"}
现在,我只是使用以下代码(与数字和名称匹配得很好),但我还将所有不相关的数字复制到该列中。如何仅将与词典中的名称匹配的数字复制到新列?
df['names'] = df['numbers'].replace(id_numbers )
在那之后,我还要删除数字列中不在字典中的数字。非常感谢你!
答案 0 :(得分:2)
尝试map
:
df['names'] = df['numbers'].map(id_numbers)
或使用:
df['names'] = df['numbers'].replace(list(id_numbers.keys()), list(id_numbers.values()))