Aba*_*cus 5 python pandas fuzzywuzzy
我有一个数据框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)
问候
-算盘
你传递了一个系列来处理apply函数内部,代表当前行.在您的代码中,您实际上忽略了此系列,并尝试partial_ratio每次调用DataFrame的两个完整列(driver[col]).
对代码进行细微更改应该可以为您提供所需的内容.
d = DataFrame({'one': ['fuzz', 'wuzz'], 'two': ['fizz', 'woo']})
d.apply(lambda s: fuzz.partial_ratio(s['one'], s['two']), axis=1)
0    75
1    33
dtype: int64
(有趣的是,该partial_ratio函数将接受一个Series作为输入,但只是因为它将其内部转换为字符串.:)
| 归档时间: | 
 | 
| 查看次数: | 2337 次 | 
| 最近记录: |