データフレームの行間の類似性を計算します(共通のカウント値)

mathilde

データフレームの行間の類似度を計算したい。私は何人かの人々についての情報でいくつかのコラムを持っています。1列は1人です。それはそのように見えます:

 print(df)
        id  name      firstname  email                town    age
    0    1  martin    pierre     [email protected]      Paris   na
    1    2  dupond    sarah      [email protected]    London  32
    2    3  dupond    sarah      [email protected]    Berlin  32
    3    4  dupond    john       na                   Madrid  45
    4    5  smith     na         [email protected]  Paris   28

少なくとも3つの列が完了している場合は、各行について、他の行と共通の値の数を列の数で割った値をカウントしたいと思います。たとえば、インデックス1の行とインデックス2の行の間には、4つの共通の変数があります。したがって、私の類似性は4/5(idはカウントされません)=類似性の80%になります。その後、類似度が0.6を超える行を見つけて新しいデータフレームを作成するため、結果は類似度マトリックスである必要があります。それはそのようなものかもしれません:

 print(similarity)
        0    1    2    3    4
    0   1    0    0    0    0.2
    1   0.2  1    0.8  0.2  0
    2   0    0.8  1    0.2  0
    3   0    0.2  0.2  1    0
    4   0.2  0    0    0    1

結果が重複しているため、その半分で十分です。

 print(similarity)
        0    1    2    3    4
    0        0    0    0    0.2
    1             0.8  0.2  0
    2                  0.2  0
    3                       0
    4 

それを自動化する機能を探していますが見つかりませんでした。そのようなものは存在しますか?読んでくれてありがとう、どんなアドバイスやアイデアも歓迎されます。

マイケル・シュチェスニー

scipy.spatial.distance.pdistカスタム距離機能で使用できます

from scipy.spatial.distance import pdist, squareform
pd.DataFrame(1 - squareform(pdist(df.set_index('id'), lambda u,v: (u != v).mean())))

でる:

     0    1    2    3    4
0  1.0  0.0  0.0  0.0  0.2
1  0.0  1.0  0.8  0.2  0.0
2  0.0  0.8  1.0  0.2  0.0
3  0.0  0.2  0.2  1.0  0.0
4  0.2  0.0  0.0  0.0  1.0

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

データフレームでジャッカードの類似性を計算する

分類Dev

pandasデータフレーム内の類似の文字列値を1年ごとにカウントする

分類Dev

パンダデータフレーム内の類似値の割合を計算する

分類Dev

pysparkのデータフレームのすべての行間のコサイン類似度を計算する

分類Dev

パンダのデータフレームからジャッカードの類似性を計算する方法

分類Dev

毎日のデータフレームの値のカウントまたは合計を取得します

分類Dev

pandasデータフレームの行のサブセットの平均値と最大値を計算します

分類Dev

データフレームから類似した発音の単語の数と名前を計算する

分類Dev

パンダのデータフレームに保存されているSMILE構造をRDKitに直接フィードして、分子のフィンガープリントと類似性を計算することは可能ですか?

分類Dev

2つのデータフレームの共通部分を見つけて、データフレーム内の整数行の平均を計算します

分類Dev

ドキュメントのクラスターが与えられた場合、コーパスとクラスター間の類似性を計算します

分類Dev

パンダは類似のデータフレームを比較し、最小値を取得します

分類Dev

類似性のパーセンテージを計算するか、3つ以上のオブジェクト間の相関を計算します

分類Dev

rを使用して、行のグループがデータフレーム内でどの程度類似しているかを計算する方法

分類Dev

Rのデータフレームで最大値をカウントします

分類Dev

パンダデータフレームの行間の差を計算する

分類Dev

pandas:別の列の値に基づいてすべての行のジャッカードの類似性を計算します

分類Dev

id列の共通値に基づいて、別のデータフレームからデータフレームの行を減算します

分類Dev

2つの類似したdf間のコントラストに従って、新しいデータフレームを作成します

分類Dev

Rの2つの異なるデータフレームからの2つのタイムスタンプ間の行をカウントします

分類Dev

Rの「ロングフォーマット」データフレームで値を計算します

分類Dev

行ごとに2つのデータフレーム間の類似性を見つける

分類Dev

同じデータフレーム内の別の列の値に基づいて、2つの列の値をカウントまたは合計します

分類Dev

2つのデータフレームの行を比較し、類似した列の数を数えます

分類Dev

Python-時間情報(インスタント、間隔)に基づいてアイテム間の類似性を計算します

分類Dev

トランジションのフレームごとにカスタム計算を実行します

分類Dev

Python Pandas:2つのcsv(データフレーム)の行を1つの列に沿って類似した値と比較し、類似した行(列)のコンテンツを返します

分類Dev

その上の行内のデータフレーム内の値の出現をカウントします

分類Dev

パンダ、データフレームの列の単一の値のカウントを取得します

Related 関連記事

  1. 1

    データフレームでジャッカードの類似性を計算する

  2. 2

    pandasデータフレーム内の類似の文字列値を1年ごとにカウントする

  3. 3

    パンダデータフレーム内の類似値の割合を計算する

  4. 4

    pysparkのデータフレームのすべての行間のコサイン類似度を計算する

  5. 5

    パンダのデータフレームからジャッカードの類似性を計算する方法

  6. 6

    毎日のデータフレームの値のカウントまたは合計を取得します

  7. 7

    pandasデータフレームの行のサブセットの平均値と最大値を計算します

  8. 8

    データフレームから類似した発音の単語の数と名前を計算する

  9. 9

    パンダのデータフレームに保存されているSMILE構造をRDKitに直接フィードして、分子のフィンガープリントと類似性を計算することは可能ですか?

  10. 10

    2つのデータフレームの共通部分を見つけて、データフレーム内の整数行の平均を計算します

  11. 11

    ドキュメントのクラスターが与えられた場合、コーパスとクラスター間の類似性を計算します

  12. 12

    パンダは類似のデータフレームを比較し、最小値を取得します

  13. 13

    類似性のパーセンテージを計算するか、3つ以上のオブジェクト間の相関を計算します

  14. 14

    rを使用して、行のグループがデータフレーム内でどの程度類似しているかを計算する方法

  15. 15

    Rのデータフレームで最大値をカウントします

  16. 16

    パンダデータフレームの行間の差を計算する

  17. 17

    pandas:別の列の値に基づいてすべての行のジャッカードの類似性を計算します

  18. 18

    id列の共通値に基づいて、別のデータフレームからデータフレームの行を減算します

  19. 19

    2つの類似したdf間のコントラストに従って、新しいデータフレームを作成します

  20. 20

    Rの2つの異なるデータフレームからの2つのタイムスタンプ間の行をカウントします

  21. 21

    Rの「ロングフォーマット」データフレームで値を計算します

  22. 22

    行ごとに2つのデータフレーム間の類似性を見つける

  23. 23

    同じデータフレーム内の別の列の値に基づいて、2つの列の値をカウントまたは合計します

  24. 24

    2つのデータフレームの行を比較し、類似した列の数を数えます

  25. 25

    Python-時間情報(インスタント、間隔)に基づいてアイテム間の類似性を計算します

  26. 26

    トランジションのフレームごとにカスタム計算を実行します

  27. 27

    Python Pandas:2つのcsv(データフレーム)の行を1つの列に沿って類似した値と比較し、類似した行(列)のコンテンツを返します

  28. 28

    その上の行内のデータフレーム内の値の出現をカウントします

  29. 29

    パンダ、データフレームの列の単一の値のカウントを取得します

ホットタグ

アーカイブ