繁体   English   中英

将 Python 函数应用于每一行并追加

[英]Apply Python function to each row and append

我有以下数据:

在此处输入图片说明

我正在尝试使用库 - pyjarowinkler并找到字符串之间的距离 - 我的 hello world 代码有效

#Hello World
d1=distance.get_jaro_distance("Hello","hello", winkler=True, scaling=0.1);
d1

当我尝试迭代每一行或使用 apply 我的代码失败。 有人可以指出我正确的方向。

#Import data 
import pandas
df = pandas.read_csv('data.csv')
from pyjarowinkler import distance
score=df.apply(distance.get_jaro_distance(df[S1],df[Stores]))



# iterating over rows using iterrows() function  
for i, j in df.iterrows(): 
    print(i, j,distance.get_jaro_distance(i,j,winkler=True, scaling=0.1)) 
    print()

错误:

JaroDistanceException: Cannot calculate distance from NoneType (int, Series)

预期的输出是:

在此处输入图片说明

我认为你应该能够做到

df['distance'] = df.apply(lambda d: distance.get_jaro_distance(d['S1'],d['store'],winkler=True,scaling=0.1), axis=1)

请注意传递给.applyaxis=1参数,这告诉它按行而不是按列对 df 进行操作

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM