我有一个数据框pandas,我fuzzywuzzy在python中使用package来匹配数据框中的第一列和第二列.
我已经定义了一个函数来创建具有第一列,第二列和部分比率得分的输出.但它没有用.
能否请你帮忙
import csv
import sys
import os
import numpy as np
import pandas as pd
from fuzzywuzzy import fuzz
from fuzzywuzzy import process
def match(driver):
driver["score"]=driver.apply(lambda row: fuzz.partial_ratio(row driver[driver.columns[0]], driver[driver.columns[1]]), axis=1)
print(driver)
return(driver)
Run Code Online (Sandbox Code Playgroud)
问候
-算盘
我有一个.csv文件,其中包含以下格式的城市,纬度和经度数据:
CITY|LATITUDE|LONGITUDE
A|40.745392|-73.978364
B|42.562786|-114.460503
C|37.227928|-77.401924
D|41.245708|-75.881241
E|41.308273|-72.927887
Run Code Online (Sandbox Code Playgroud)
我需要以下面的格式创建一个距离矩阵(请忽略虚拟值):
A B C D E
A 0.000000 6.000000 5.744563 6.082763 5.656854
B 6.000000 0.000000 6.082763 5.385165 5.477226
C 1.744563 6.082763 0.000000 6.000000 5.385165
D 6.082763 5.385165 6.000000 0.000000 5.385165
E 5.656854 5.477226 5.385165 5.385165 0.000000
Run Code Online (Sandbox Code Playgroud)
我已将数据加载到pandas数据框中,并创建了一个交叉连接,如下所示:
import pandas as pd
df_A = pd.read_csv('lat_lon.csv', delimiter='|', encoding="utf-8-sig")
df_B = df_A
df_A['key'] = 1
df_B['key'] = 1
df_C = pd.merge(df_A, df_B, on='key')
Run Code Online (Sandbox Code Playgroud)