当前位置:  开发笔记 > 编程语言 > 正文

在Python pandas DataFrame中交换值以清理数据的最佳方法是什么

如何解决《在PythonpandasDataFrame中交换值以清理数据的最佳方法是什么》经验,为你挑选了1个好方法。

我有一个DataFrame,其中"Name"列中有一些错误.我创建了一个字典,其中键的拼写错误,拼写的值正确.用正确的拼写替换错误拼写的最佳方法是什么?这就是我做的.

for incorrect, correct in incorrect_to_correct.items():
    mask = s_df['Name'] == incorrect
    s_df.loc[mask, 'Name'] = correct

有没有更好的方法呢?有人告诉我,如果你正在使用带有熊猫的for循环,你应该重新考虑你在做什么?有没有更好的方法来清理数据?这种字典方法"错了"吗?我是熊猫新手,任何帮助将不胜感激.谢谢!



1> jezrael..:

我想你可以使用replacedict:

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

推荐阅读
郑小蒜9299_941611_G
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有