0

データフレーム (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

ありがとう。

4

1 に答える 1