python - 如何创建带有循环的 DataFrame?
问题描述
data = {'col1':['Country', 'State', 'City', 'park' ,'avenue'],
'col2':['County','stats','PARK','Avenue', 'cities']}
col1 col2
0 Country County
1 State stats
2 City PARK
3 park Avenue
4 avenue cities
我试图用模糊模糊技术匹配两列的名称并按分数排序。
输出:
col1 col2 score order
0 Country County 92 1
1 Country stats 31 2
2 Country PARK 18 3
3 Country Avenue 17 4
4 Country cities 16 5
5 State County 80 1
6 State stats 36 2
7 State PARK 22 3
8 State Avenue 18 4
9 State cities 16 5
.....
我做了什么:
'''
from fuzzywuzzy import fuzz
import pandas as pd
import numpy as np
for i in df.col1:
for j in df.col2:
print(i,j,fuzz.token_set_ratio(i, j))
'''
我被困在这里..
解决方案
让我们做
df['score']=df.apply(lambda x : fuzz.ratio(x['col1'],x['col2']),1)
df['score']
0 92
1 60
2 0
3 0
4 17
dtype: int64
然后
df['order']=(-df['score']).groupby(df['col1']).rank(method='first')
推荐阅读
- java - 通过 Maven 从 eclipse.org 安装依赖项
- python - 来自具有不同字段位置的多个数据文件的唯一文件
- json - 如何在第二个 Spring Boot 中传递只有 ID 的嵌套 JSON
- sql - 更新表并添加新列,检查用户名编号的所有行 | SQL 服务器
- debugging - 在 chrome 调试器中查找获取请求的来源
- c# - .NET - 检索所有域控制器的详细信息,无论 DC 连接如何
- php - PHP cURL:特定 SSL 页面(RSS 流)的超时
- kubernetes - 无法获取 cpu pod 指标,k8s-containerd-containerd-shim-runsc-v1-gvisor
- c++ - 为什么非多态 typeid 需要 RTTI?
- ios - 该应用程序永远显示白屏。科尔多瓦 ios@6.1.0