Python 使字符串列在大熊猫中保持一致/干净

Python 使字符串列在大熊猫中保持一致/干净,python,string,pandas,data-cleaning,Python,String,Pandas,Data Cleaning,我正在处理一个具有不干净字符串列的数据集。这些都是公司名称,而且大部分都是手工输入的,因此有打字错误和不同的表示形式。“数据集”列如下所示: company_name big compnay big company big company inc. smll compny small company small inc. 我正在尝试将上述列编辑为如下内容: company_name big company big company big company small company small

我正在处理一个具有不干净字符串列的数据集。这些都是公司名称,而且大部分都是手工输入的,因此有打字错误和不同的表示形式。“数据集”列如下所示:

company_name
big compnay
big company
big company inc.
smll compny
small company
small inc.
我正在尝试将上述列编辑为如下内容:

company_name
big company
big company
big company
small company
small company
small company
数据点的数量远远大于可以手动清理的数据点数量。如果有任何建议/帮助/建议,我将不胜感激。我曾尝试使用fuzzywuzzy等模块,但我无法找到解决上述问题的最佳方法


谢谢。

您可以使用概率拼写更正器来更正与数据集中出现频率更高的单词之间有一到两个编辑距离的单词。这里提供了一个Python实现:

我认为pandas没有内置函数来处理它。可能您可以尝试为字符映射创建函数,或者使用距离向量方法来考虑字母顺序和字母本身来处理它。本练习的目标是什么?你能展示一个从脏数据到干净数据的映射示例吗?@JijoJose对,我正在努力解决这个问题。这是我从未做过的事…@SergeyBushmanov我刚刚编辑了这个问题,以反映从脏到干净的映射。。。谢谢我要试试这个。这似乎需要一个正确的单词库。就我而言,这需要一份正确的公司名称列表。这是可行的,但我需要几天的时间来手动查看它们,以获得正确的公司名称列表。然后我可能会做一些事情,比如获取最接近的匹配。避免手动选择的一种方法是根据数据集中出现的次数为每个值分配一个概率分数。例如,我期望概率['smll compny']