gpt4 book ai didi

python - 使用 fuzzywuzzy 在数据框中创建新列

转载 作者:太空狗 更新时间:2023-10-30 00:54:40 24 4
gpt4 key购买 nike

我在 pandas 中有一个数据框,我在 python 中使用 fuzzywuzzy 包来匹配数据框中的第一列和第二列。

我已经定义了一个函数来创建具有第一列、第二列和部分比率分数的输出。但它不起作用。

你能帮忙吗

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 函数中传递一个要使用的 Series,代表此处的当前行。在您的代码中,您实际上忽略了这个 Series 并尝试每次使用 DataFrame 的两整列调用 partial_ratio (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 作为输入,但这只是因为它在内部将其转换为字符串。:)

关于python - 使用 fuzzywuzzy 在数据框中创建新列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36138886/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com