我的数据框中有一行由数字组成(其中一些是 ID,而另一些只是不相关的数字),我想创建一个名称与这些 ID 匹配的新列,但删除不相关的数字。
我有一个字典可以匹配他们,比如:
id_numbers = {"001" : "Matt", "002":"Chris", "003":"Jana"}
现在,我只使用以下代码(与数字和名称匹配得很好),但我还复制了列中所有不相关的数字。如何仅将与字典中名称匹配的数字复制到新列?
df['names'] = df['numbers'].replace(id_numbers )
之后,我还想从数字列中删除字典中没有的数字。非常感谢!
最佳答案
尝试 map
:
df['names'] = df['numbers'].map(id_numbers)
或者使用:
df['names'] = df['numbers'].replace(list(id_numbers.keys()), list(id_numbers.values()))
关于python - 如果值与字典映射不匹配,如何从数据框行中删除它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57035983/