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