我有一个数据框(df)并尝试将数据附加到特定行
Index Fruit Rank
0 banana 1
1 apple 2
2 mango 3
3 Melon 4
目标是将等级 1 的水果与每个等级进行比较,然后附加该值。我正在使用 difflib.SequenceMatcher 进行比较。现在我可以附加到 df 但我最终将相同的值附加到每一行。我正在为循环和追加而苦苦挣扎。任何指针将不胜感激。
这是我的一些代码:
new_entry = df[(df.Rank ==1)]
new_fruit = new_entry['Fruit']
prev_entry = df[(df.Rank ==2)]
prev_fruit = prev_entry['Fruit']
similarity_score = difflib.SequenceMatcher(None, str(new_fruit).lower(), str(prev_fruit).lower()).ratio()
df['similarity_score'] = similarity_score
结果是这样的:
Index Fruit Rank similarity_score
0 banana 1 0.3
1 apple 2 0.3
2 mango 3 0.3
3 Melon 4 0.3
期望的结果是:
Index Fruit Rank similarity_score
0 banana 1 n/a
1 apple 2 0.4
2 mango 3 0.5
3 Melon 4 0.6
谢谢。