删除数据框熊猫python中的重复和最相似

Posted

技术标签:

【中文标题】删除数据框熊猫python中的重复和最相似【英文标题】:Remove duplicate and most Similar in dataframe pandas python 【发布时间】:2018-03-23 18:19:30 【问题描述】:

我想从数据框中删除重复的和最相似的

df["ID","name","Color"] = [123,BMW 2017,Black],
                           [124,BMW 2016,Black],
                           [125,KIA,Blue],
                           [126,Mini,Yellow],
                           [127,Skoda,White],
                           [128,BMW,White]

结果应该是

                          [123,BMW 2017,Black],
                           [125,KIA,Blue],
                           [126,Mini,Yellow],
                           [127,Skoda,White],
                           [128,BMW,White]

【问题讨论】:

“最相似”的标准是什么?您的编码尝试在哪里? 根据颜色选择所有汽车,年份并不重要,例如:我们有 SequenceMatcher(None,"BMW 2017", "BMW 2016").ratio() = 0.875 所以,这个最相似 如果年份不重要,那么您需要将其拆分为单独的列,或者至少预处理您的 name 列以将其删除。将该字段拆分为单词并仅比较第一个单词。 “dedup”(删除重复项)基于这些条件。 这里的问题是“名称”列,有些值是 3 或 4 个字,在这种情况下,拆分后我应该有多少列!!,我认为 SequenceMatcher 更好,我尝试使用 for循环但性能不佳 您将没有额外的列;这是在线处理。您将 name.split()[0] 放入比较标准中。 【参考方案1】:

如果年份不重要,那么您需要将其拆分为单独的列,或者至少预处理您的名称列以将其删除。将该字段拆分为单词并仅比较第一个单词。 “dedup”(删除重复项)基于这些条件。

您将 name.split()[0] 放入比较标准:将字符串拆分为单个单词,但随后仅使用第一个单词。

【讨论】:

以上是关于删除数据框熊猫python中的重复和最相似的主要内容,如果未能解决你的问题,请参考以下文章

删除熊猫数据框中的未命名列[重复]

我正在尝试使用熊猫删除重复的连续元素并保留数据框中的最后一个值

删除熊猫数据框中每一行的标点符号[重复]

在熊猫时间序列数据框中删除重复项

从熊猫数据框中删除重复行:不区分大小写的比较

熊猫数据框 - 删除异常值[重复]