我有一个DataFrame,其中列'名称'有一些错误。我创建了一个字典,其中键的拼写错误,拼写的值正确。用正确的拼写替换错误拼写的最佳方法是什么?这就是我所做的。
for incorrect, correct in incorrect_to_correct.items():
mask = s_df['Name'] == incorrect
s_df.loc[mask, 'Name'] = correct
有更好的方法吗?有人告诉我,如果你正在使用带有熊猫的for循环,你应该重新考虑你在做什么?有没有更好的方法来清理数据?这种字典方法"错误"?我是熊猫新手,任何帮助将不胜感激。谢谢!
答案 0 :(得分:5)
我认为您可以dict
使用replace
:
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