我有一个 DataFrame,其中“名称”列中有一些错误。我创建了一个字典,其中键的拼写错误,值的拼写正确。用正确的拼写替换错误的拼写的最佳方法是什么?这就是我所做的。
for incorrect, correct in incorrect_to_correct.items():
mask = s_df['Name'] == incorrect
s_df.loc[mask, 'Name'] = correct
有更好的方法吗?有人告诉我,一般来说,如果你在 pandas 中使用 for 循环,你应该重新考虑你在做什么?有没有更好的方法来清理数据?这个字典方法“错”了吗?我是 Pandas 的新手,我们将不胜感激。谢谢!
最佳答案
我想你可以使用 replace
通过 dict
:
df.Name = df.Name.replace(incorrect_to_correct)
示例:
df = pd.DataFrame({'Name' : ["john","mary","jon", "mar"]})
print (df)
Name
0 john
1 mary
2 jon
3 mar
incorrect_to_correct = {'jon':'john', 'mar':'mary'}
df.Name = df.Name.replace(incorrect_to_correct)
print (df)
Name
0 john
1 mary
2 john
3 mary
关于python - 在 Python pandas DataFrame 中交换值以清理数据的最佳方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41575470/