如果条件匹配两个“for 循环”中的两个字符串
Posted
技术标签:
【中文标题】如果条件匹配两个“for 循环”中的两个字符串【英文标题】:If condition to match two strings within two 'for loops' 【发布时间】:2020-08-18 04:57:41 【问题描述】:请检查下面的代码,我正在尝试遍历两个数据框并检查两个数据框的国家名称是否相同。但是我一次又一次地收到 Na/NaN 值错误,我无法理解为什么?两个数据集都没有 Na/NaN 值,但尽管如此,我仍然收到此错误。请帮忙!在 IF 语句中抛出错误。 Country_name 是一个字符串,例如美国、印度等。
for reviewer_id, row in data.iterrows():
for reviewer_id, row1 in data1.iterrows():
if data1['country_name'][row1] == data['country_name'][row]:
similar=textdistance.Levenshtein(row.Fname_Username,row1.Fname_Username)
data2['key1']= str(data['reviewer_id'])+'_'+str(data1['reviewer_id'])
data2['Fname_Username']= str(data['Fname_Username'])+'_'+str(data1['Fname_Username'])
data2['Similarity1']=similar
ValueError: 无法使用包含 NA / NaN 值的向量进行索引
【问题讨论】:
【参考方案1】:仔细查看iterrows()
的工作原理(例如here)。row
和row1
已经是您要访问的行,您只需获取其中的列,例如
if row1['country_name'] == row['country_name']:
【讨论】:
以上是关于如果条件匹配两个“for 循环”中的两个字符串的主要内容,如果未能解决你的问题,请参考以下文章