各行をデータフレーム内のすべての行と比較し、結果を各行のリストに保存します

pirr

各行をパンダデータフレーム内のすべての行と比較しfuzzywuzzy.fuzzy.partial_ratio() >= 85、結果を各行のリストに書き込んでみます。

例:

df = pd.DataFrame({'id': [1, 2, 3, 4, 5, 6], 'name': ['dog', 'cat', 'mad cat', 'good dog', 'bad dog', 'chicken']})

fuzzywuzzyライブラリでpandas関数を使用して、結果を取得したいと思います

id  name     match_id_list
1   dog      [4, 5]
2   cat      [3, ]
3   mad cat  [2, ]
4   good dog [1, 5]
5   bad dog  [1, 4]
6   chicken  []

しかし、私はこれを取得する方法がわかりません。

IanS

最初のステップは、特定のの条件に一致するインデックスを見つけることnameです。以来partial_ratio唯一の私たち、文字列を取るapplyデータフレームに:

name = 'dog'
df.apply(lambda row: (partial_ratio(row['name'], name) >= 85), axis=1)

次にenumerate、内包表記を使用してリスト内包表記を使用trueし、ブール配列のインデックスのリストを生成できます

matches = df.apply(lambda row: (partial_ratio(row['name'], name) >= 85), axis=1)
[i for i, x in enumerate(matches) if x]

これらすべてを関数内に入れましょう:

def func(name):
    matches = df.apply(lambda row: (partial_ratio(row['name'], name) >= 85), axis=1)
    return [i for i, x in enumerate(matches) if x]

これで、関数をデータフレーム全体に適用できます。

df.apply(lambda row: func(row['name']), axis=1)

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Spark-データフレーム内のすべての行を反復処理して、各行の複数の列を別の行と比較します

分類Dev

各行のデータフレームに対してNULL /空の列名をリストします

分類Dev

各行のすべての列を文字列として連結し、それをRの別のデータフレームに書き込みます

分類Dev

すべての行に各インデックスを適用せずに、データフレームの各行をどのように反復しますか?

分類Dev

Pythonのforループを介してデータフレーム内のリストに追加するのに、なぜ各行に追加されるのですか?

分類Dev

データフレーム内の選択された列の行を反復処理して、各行を「クリーン」にします

分類Dev

パンダ:データフレーム内のすべての値を行ごとに比較します

分類Dev

データフレームの各行を徐々に右にシフトします

分類Dev

1つのデータフレームの各行を他のデータフレームのすべての行と比較し、距離の測定値を計算するにはどうすればよいですか?

分類Dev

データフレームの各行にベクトルを減算します

分類Dev

各行のデータフレームにベクトルを減算します

分類Dev

Pandasデータフレーム内の重複する各行に値/インデックスを追加します

分類Dev

長さが異なる2つのデータフレームを行ごとに比較し、各行に同じ値の列を追加します

分類Dev

列名のベクトルを指定して、データフレームの各行に値を追加します

分類Dev

Pythonデータフレームを日付のリストと比較し、結果に基づいて文字列を割り当てます

分類Dev

Spark:データフレームの各行を別のデータフレームのすべての行と結合する方法

分類Dev

データフレームのリストで発生をカウントし、結果をRの新しいデータフレームに保存します

分類Dev

R-文字列のGrepデータフレームであり、各行の検索結果に基づいて条件付きで新しい値を追加します

分類Dev

関数を作成し、それをlapplyに渡して、データフレームの各行に対して実行しようとしています。

分類Dev

データフレームの特定の列のすべての行で .join を使用してリスト内のすべての要素を結合する方法

分類Dev

データフレームの各行に関数を適用して、名前付きの値でリストを作成します

分類Dev

pysparkデータフレームの行を反復処理しますが、各行はデータフレームとして保持します

分類Dev

Rのデータフレームの各行の(NA)データが欠落している列名のリストを返します

分類Dev

Pythonデータフレームを使用して、条件を満たす各行に条件を満たす行のカウントの列を追加します

分類Dev

groupbyを使用して、各行がPandasデータフレームの実行リストである列を作成できますか?

分類Dev

1つのデータフレームの各行に2番目のデータフレームのすべての行を掛けます

分類Dev

データフレームの各行を繰り返し、valに格納し、パラメーターとしてSparkSQLクエリに渡します

分類Dev

データフレームの各行にリストを追加する

分類Dev

R、データフレームのリスト、ラップ後、結果はデータフレームのリストとしても保存され、結果を元の名前に保存する方法

Related 関連記事

  1. 1

    Spark-データフレーム内のすべての行を反復処理して、各行の複数の列を別の行と比較します

  2. 2

    各行のデータフレームに対してNULL /空の列名をリストします

  3. 3

    各行のすべての列を文字列として連結し、それをRの別のデータフレームに書き込みます

  4. 4

    すべての行に各インデックスを適用せずに、データフレームの各行をどのように反復しますか?

  5. 5

    Pythonのforループを介してデータフレーム内のリストに追加するのに、なぜ各行に追加されるのですか?

  6. 6

    データフレーム内の選択された列の行を反復処理して、各行を「クリーン」にします

  7. 7

    パンダ:データフレーム内のすべての値を行ごとに比較します

  8. 8

    データフレームの各行を徐々に右にシフトします

  9. 9

    1つのデータフレームの各行を他のデータフレームのすべての行と比較し、距離の測定値を計算するにはどうすればよいですか?

  10. 10

    データフレームの各行にベクトルを減算します

  11. 11

    各行のデータフレームにベクトルを減算します

  12. 12

    Pandasデータフレーム内の重複する各行に値/インデックスを追加します

  13. 13

    長さが異なる2つのデータフレームを行ごとに比較し、各行に同じ値の列を追加します

  14. 14

    列名のベクトルを指定して、データフレームの各行に値を追加します

  15. 15

    Pythonデータフレームを日付のリストと比較し、結果に基づいて文字列を割り当てます

  16. 16

    Spark:データフレームの各行を別のデータフレームのすべての行と結合する方法

  17. 17

    データフレームのリストで発生をカウントし、結果をRの新しいデータフレームに保存します

  18. 18

    R-文字列のGrepデータフレームであり、各行の検索結果に基づいて条件付きで新しい値を追加します

  19. 19

    関数を作成し、それをlapplyに渡して、データフレームの各行に対して実行しようとしています。

  20. 20

    データフレームの特定の列のすべての行で .join を使用してリスト内のすべての要素を結合する方法

  21. 21

    データフレームの各行に関数を適用して、名前付きの値でリストを作成します

  22. 22

    pysparkデータフレームの行を反復処理しますが、各行はデータフレームとして保持します

  23. 23

    Rのデータフレームの各行の(NA)データが欠落している列名のリストを返します

  24. 24

    Pythonデータフレームを使用して、条件を満たす各行に条件を満たす行のカウントの列を追加します

  25. 25

    groupbyを使用して、各行がPandasデータフレームの実行リストである列を作成できますか?

  26. 26

    1つのデータフレームの各行に2番目のデータフレームのすべての行を掛けます

  27. 27

    データフレームの各行を繰り返し、valに格納し、パラメーターとしてSparkSQLクエリに渡します

  28. 28

    データフレームの各行にリストを追加する

  29. 29

    R、データフレームのリスト、ラップ後、結果はデータフレームのリストとしても保存され、結果を元の名前に保存する方法

ホットタグ

アーカイブ