Pandasデータフレームのリストに基づいて列の値を比較します

オセリア

以下の2つのデータフレームがあります。

df1:

ID    list     value  listA  valueA  listB   valueB
1     list1     D1    list1     D1   list1     D1
2                     list2     D1 
3     list1     D3                   list2     D3
4     list2     D1    list2     D1   list1     D3 
5     list2     D2    list2     D2   list2     D2  
6     list2     D3    list1     D3   list1     D4 

df2:

list1  list2
 D1     456
 D2     D2
 33     D31 
 D4     245
 EE     D5 
 D5     D6

以下の検証に基づいて最終的なdfを生成しようとしています

-> df1のlistの値がlist1の場合、df1の "value"の対応するデータは、df23のlist1列の値の1つである必要があります。

-> df1のlistの値がlist2の場合、df1の「value」の対応するデータは、df2のlist2列の値の1つである必要があります。

期待される結果df:

ID   list   value  listA  valueA  listB  valueB Error
1    list1   D1    list1     D1   list1    D1   no mismatch
2                  list2     D1                 valueA mismatch
3    list1   D3                   list2    D3   value, valueB mismatch
4    list2   D1    list2     D1   list1    D3   value,valueA&valueB mismatch
5    list2   D2    list2     D2   list2    D2   no mismatch
6    list2   D3    list1     D3   list1    D4   value, valueA mismatch
ジェズリール

ブールマスクのGroupBy.transformカスタム関数で使用isin、次のように値を設定しますnumpy.where

m = df1.groupby('list')['value'].transform(lambda x: x.isin(df2[x.name]))
df1['Error'] = np.where(m, 'No mismatch with df2','list mismatch with df2')
print (df1)
   ID   list value                   Error
0   1  list1    D1    No mismatch with df2
1   2  list1    D2    No mismatch with df2
2   3  list1    D3  list mismatch with df2
3   4  list2    D1  list mismatch with df2
4   5  list2    D2    No mismatch with df2
5   6  list2    D3  list mismatch with df2

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

列の値に基づいてデータフレームの行を返します。Rスクリプト

分類Dev

リスト値に基づいてPandasデータフレームの行を更新します

分類Dev

列の値に基づいてリストからデータフレームを選択します

分類Dev

pandasデータフレーム内の文字列のリストを含む別の列に基づいて列値を取得します

分類Dev

データフレーム操作:データフレームの特定の列をキー値列に基づいてリストに変換します

分類Dev

リストまたは別の列の値に基づいて、Pandasデータフレームで列を動的に選択します

分類Dev

列の共通値に基づいて、大きなデータフレームをデータフレームのリストに分割します

分類Dev

列の値に基づいてパンダの2つのデータフレームを比較します

分類Dev

他の列の値に基づいて、pandasデータフレームの列の値を設定します

分類Dev

各文の最初の単語に基づいて、pandasデータフレーム列の文字列のリストを新しい列に分割します

分類Dev

オブジェクトの個別のリストの値に基づいて、リストの各データフレームに列を追加します

分類Dev

pandasデータフレームの値に基づいて文字列の値を更新します

分類Dev

条件に基づいてデータフレームの値をリストに移動します

分類Dev

2 つの列の値に基づいてデータフレーム pandas の重複を削除します

分類Dev

Pandasデータフレームを列の値に基づいて別々の部分に分割します

分類Dev

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

分類Dev

条件と値のリストに基づいてpysparkデータフレームを作成します

分類Dev

既存の列のカテゴリ値に基づいてデータフレームに列を追加します

分類Dev

他のデータフレームの比較に基づいて、列を含むPandasデータフレームを作成します

分類Dev

列の値に基づいてデータフレームを分割します-IDのリストをループします

分類Dev

別のリストに基づいて、パンダのデータフレーム列のリストから値を削除します

分類Dev

そのデータフレームの値に基づいて、データフレームのリストの名前を作成します

分類Dev

リスト列に基づいて2つのパンダデータフレームを結合します

分類Dev

リストを使用して、別のデータフレームに基づいてデータフレームの列を更新します

分類Dev

リストとデータフレームに基づいて複数の条件を持つデータフレームに新しい列を追加します

分類Dev

Pandasデータフレームの他の列の値に基づいて列値をカウントする

分類Dev

2列の値に基づいてPandasデータフレームを再形成します

分類Dev

列の関数の結果に基づいてPandasデータフレームをスライスします

分類Dev

Pandas python:定義された列のリストに基づいて2つのデータフレームをマージする関数を作成します

Related 関連記事

  1. 1

    列の値に基づいてデータフレームの行を返します。Rスクリプト

  2. 2

    リスト値に基づいてPandasデータフレームの行を更新します

  3. 3

    列の値に基づいてリストからデータフレームを選択します

  4. 4

    pandasデータフレーム内の文字列のリストを含む別の列に基づいて列値を取得します

  5. 5

    データフレーム操作:データフレームの特定の列をキー値列に基づいてリストに変換します

  6. 6

    リストまたは別の列の値に基づいて、Pandasデータフレームで列を動的に選択します

  7. 7

    列の共通値に基づいて、大きなデータフレームをデータフレームのリストに分割します

  8. 8

    列の値に基づいてパンダの2つのデータフレームを比較します

  9. 9

    他の列の値に基づいて、pandasデータフレームの列の値を設定します

  10. 10

    各文の最初の単語に基づいて、pandasデータフレーム列の文字列のリストを新しい列に分割します

  11. 11

    オブジェクトの個別のリストの値に基づいて、リストの各データフレームに列を追加します

  12. 12

    pandasデータフレームの値に基づいて文字列の値を更新します

  13. 13

    条件に基づいてデータフレームの値をリストに移動します

  14. 14

    2 つの列の値に基づいてデータフレーム pandas の重複を削除します

  15. 15

    Pandasデータフレームを列の値に基づいて別々の部分に分割します

  16. 16

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

  17. 17

    条件と値のリストに基づいてpysparkデータフレームを作成します

  18. 18

    既存の列のカテゴリ値に基づいてデータフレームに列を追加します

  19. 19

    他のデータフレームの比較に基づいて、列を含むPandasデータフレームを作成します

  20. 20

    列の値に基づいてデータフレームを分割します-IDのリストをループします

  21. 21

    別のリストに基づいて、パンダのデータフレーム列のリストから値を削除します

  22. 22

    そのデータフレームの値に基づいて、データフレームのリストの名前を作成します

  23. 23

    リスト列に基づいて2つのパンダデータフレームを結合します

  24. 24

    リストを使用して、別のデータフレームに基づいてデータフレームの列を更新します

  25. 25

    リストとデータフレームに基づいて複数の条件を持つデータフレームに新しい列を追加します

  26. 26

    Pandasデータフレームの他の列の値に基づいて列値をカウントする

  27. 27

    2列の値に基づいてPandasデータフレームを再形成します

  28. 28

    列の関数の結果に基づいてPandasデータフレームをスライスします

  29. 29

    Pandas python:定義された列のリストに基づいて2つのデータフレームをマージする関数を作成します

ホットタグ

アーカイブ