python - 匹配 DataFrame 中的相似值
问题描述
我有以下形式的DataFrame:
Name Count
Car 500
Cars 300
Train 100
trainz 200
Planes 1000
Plane 100
planses 1
Ship 100
ships 10
我正在尝试将相似的值相互匹配,以便将count
列中的数字相加以获得相似的值。
因此,输出数据框将是列中给定类型的第一个找到的值,并且是name
列中所有相似值的总和值count
。
Name Count
Car 800
Train 300
Planes 1101
Ship 110
解决方案
看看difflib。
以下代码
import difflib
print(difflib.get_close_matches('Car', ['Car', 'Cars', 'Train', 'trainz', 'Planes', 'Plane', 'planses', 'Ship', 'ships']))
print(difflib.get_close_matches('Train', ['Car', 'Cars', 'Train', 'trainz', 'Planes', 'Plane', 'planses', 'Ship', 'ships']))
print(difflib.get_close_matches('Planes', ['Car', 'Cars', 'Train', 'trainz', 'Planes', 'Plane', 'planses', 'Ship', 'ships']))
print(difflib.get_close_matches('Ship', ['Car', 'Cars', 'Train', 'trainz', 'Planes', 'Plane', 'planses', 'Ship', 'ships']))
给你想要的组
['Car', 'Cars']
['Train', 'trainz']
['Planes', 'Plane', 'planses']
['Ship', 'ships']
推荐阅读
- maven - 如何在 jenkins 管道中更新 pom.xml 而无需开发人员更改他的 pom.xml?
- android - 如何在 Android 中使用 ContentResolver 删除自定义文件夹中的图像/视频?
- docker - dockerignore 即使写得正确也不起作用
- java - 引脚视图光标形状不变
- django - 为什么 django 没有将用户添加到我的表中(我正在使用 postgres)?
- java - Spring Cloud Gateway - 获取 405 方法不允许
- python - QListWidget中字符后的屏蔽文本
- swift - 环境驳回搜索不适用于 macOS SwiftUI
- c - 多客户端 TCP/IP 服务器 - 服务器显示客户端使用相同的端口号断开连接
- azure - 无法通过 azure bash 部署我的 Web 应用程序