我有一个数据框,该数据框在列中列出了对象及其不同的质量。这些列之一是对象的颜色。我的目标是编写一个函数,该函数创建一个NEW列,该列列出单个对象(即'orange'
)的颜色与其他所有对象的颜色(即"navy blue"
,{ {1}},"white"
)。
首先,我有一个搜索数据框以查找对象颜色的函数。其标题为"red-orange"
。如果我调用findcolor(object)
,它将搜索findcolor(pumpkin)
行和'pumpkin'
列,并返回字符串'Color'
(位于该单元格中)。我在下面的另一个函数中调用此函数,它使我可以比较数据框中的两个对象的颜色。
"orange"
因此,本质上,如果def getsingleFuzzyScore(object1,object2):
x = findcolor(object2)
b = findcolor(object1)
if b in x:
return 100
elif x in b:
return 100
else:
return(fuzz.partial_ratio(b,x))
的颜色中包含object1
的任何颜色,反之亦然,则我的分数将为100,否则,它将采用两者的部分模糊比颜色比较。这些信息,即我对FuzzyScore的呈现,我希望作为数据框中的新列。
我在努力的地方是从数据框中输入object2
列。这个问题(Comparing a single string to an array of strings in C)是我要做什么(但在python中),我希望能够调用对象的列,即'Color'
并比较南瓜的颜色'Color'
列中的每个剩余对象。
最后,我希望看到输出是一列数字,与我输入的对象的颜色相比,它们是'Color'
对于每个对象的输出。