データフレーム (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
ありがとう。