小编Aba*_*cus的帖子

使用fuzzywuzzy在dataframe中创建新列

我有一个数据框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)

问候

-算盘

python pandas fuzzywuzzy

5
推荐指数
1
解决办法
2337
查看次数

使用熊猫的欧几里德距离矩阵

我有一个.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)
  • 你能帮我创建一下上面的矩阵结构吗?
  • 另外,是否可以避免涉及交叉连接的步骤?

python dataframe pandas

4
推荐指数
1
解决办法
1万
查看次数

标签 统计

pandas ×2

python ×2

dataframe ×1

fuzzywuzzy ×1