Pandas 模糊检测重复项
Pandas fuzzy detect duplicates
如何在 pandas 中使用模糊匹配来(有效地)检测重复行
如何在没有转换 row_i toString() 然后将其与所有其他列进行比较的巨大 for 循环的情况下找到一列与所有其他列的重复项?
不是 pandas 特定的,但在 python 生态系统中,dedupe python library 似乎可以满足您的要求。特别是,它允许您分别比较一行的每一列,然后将信息组合成匹配的单个概率分数。
现在有一个包可以更轻松地使用 dedupe library with pandas: pandas-dedupe
(我是原始 dedupe 库的开发人员,但不是 pandas-dedupe 包的开发人员)
pandas-dedupe 是你的朋友。您可以尝试执行以下操作:
import pandas as pd
from pandas_deudpe import dedupe_dataframe
df = pd.DataFrame.from_dict({'bank':['bankA', 'bankA', 'bankB', 'bankX'],'email':['email1', 'email1', 'email2', 'email3'],'name':['jon', 'john', 'mark', 'pluto']})
dd = dedupe_dataframe(df, ['bank', 'name', 'email'], sample_size=1)
如果您还想为相同的实体设置规范名称,请设置 canonicalize=True
。
[我是 pandas-重复数据删除贡献者之一]
如何在 pandas 中使用模糊匹配来(有效地)检测重复行
如何在没有转换 row_i toString() 然后将其与所有其他列进行比较的巨大 for 循环的情况下找到一列与所有其他列的重复项?
不是 pandas 特定的,但在 python 生态系统中,dedupe python library 似乎可以满足您的要求。特别是,它允许您分别比较一行的每一列,然后将信息组合成匹配的单个概率分数。
现在有一个包可以更轻松地使用 dedupe library with pandas: pandas-dedupe
(我是原始 dedupe 库的开发人员,但不是 pandas-dedupe 包的开发人员)
pandas-dedupe 是你的朋友。您可以尝试执行以下操作:
import pandas as pd
from pandas_deudpe import dedupe_dataframe
df = pd.DataFrame.from_dict({'bank':['bankA', 'bankA', 'bankB', 'bankX'],'email':['email1', 'email1', 'email2', 'email3'],'name':['jon', 'john', 'mark', 'pluto']})
dd = dedupe_dataframe(df, ['bank', 'name', 'email'], sample_size=1)
如果您还想为相同的实体设置规范名称,请设置 canonicalize=True
。
[我是 pandas-重复数据删除贡献者之一]