python - 如何用 Python 搜索相似的列?

标签 python pandas

拜托,我有两个包含公司名称列的 CSV 文件。 对于 Python3 和 pandas,我进行了合并以比较名称:

compara1 = pd.merge(
    dividas_dep, funrural,
    left_on='Nome_Devedor',
    right_on='Razao_Social')

但是这些文件中的公司名称在某些文件中并不总是正确输入。示例:

AGROPECUARIA INDIANA LTDA
AGROPECUARIA INDINA LTDA

AGROTRI AGROPECUARIA TRIANGULO LTDA
AGROTRI AGROPECUARI TRIANGULO LTDA

所以合并没有找到相似的值 在Python中是否可以搜索高相似度?请注意,“Nome_Devedor”中的行与“Razao_Social”中的行非常相似 有教程吗?

最佳答案

您可以使用这个库来比较字符串:

from difflib import SequenceMatcher

def similar(a, b):
    threshold = 0.8
    return (SequenceMatcher(None, a, b).ratio() > threshold)

此函数返回 true,字符串相似度达到某个阈值。您可以从两个文件中迭代未考虑的字符串以完成匹配。

关于python - 如何用 Python 搜索相似的列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46709955/

相关文章:

python - 使用 ctypes 列出从 dll 导出的函数

python - 在另一个类中创建类的实例(使用通用示例)

python - 在值重复的情况下在字典中查找最大键的最大值的键

python - pandas 中的索引对象——为什么 pd.columns 返回索引而不是列表

python - Pandas - 第一次找到条件为真的索引

python - 将数据框转换为字典

python - Pandas Dataframe 在行和列中增长

python - 如何使 matplotlib/pandas 条形图看起来像直方图?

python - 将超过一百万个 .txt 文件存储到 pandas 数据框中

python - 打印字符串以固定宽度和后缀左对齐