パンダ: 複数の列に isin を使用する方法


pandas isin()関数で次のメソッドを使用すると、pandas DataFrame の複数の列に基づいてフィルタリングできます。

方法 1: 複数の列が特定の値と等しい場合にフィルターする

 df = df[df[[' team ', ' position ']]. isin ([' A ',' Guard ']). all (axis= 1 )]

この特定の例では、チーム列が「A」に等しくポジション列が「ガード」に等しい行のデータフレームをフィルターします。

方法 2: 少なくとも 1 つの列が特定の値と等しいフィルター

 df = df[df[[' team ', ' position ']]. isin ([' A ',' Guard ']). any (axis= 1 )]

この特定の例では、チーム列が「A」またはポジション列が「Guard」に等しい行のデータフレームをフィルターします。

次の例は、次の pandas DataFrame で各メソッドを実際に使用する方法を示しています。

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
                   ' position ': ['Guard', 'Guard', 'Forward', 'Forward',
                                'Guard', 'Guard', 'Forward', 'Forward'],
                   ' points ': [11, 18, 10, 22, 26, 35, 19, 12]})
                   
#view DataFrame
print (df)

  team position points
0 A Guard 11
1 A Guard 18
2 A Forward 10
3 A Forward 22
4 B Guard 26
5 B Guard 35
6 B Forward 19
7 B Forward 12

例 1: 複数の列が特定の値と等しい場合のフィルター

次の構文を使用して、データフレームをフィルタリングして、チーム列が「A」に等しくポジション列が「Guard」に等しい行のみを含めることができます。

 #filter rows where team column is 'A' and position column is 'Guard'
df = df[df[[' team ', ' position ']]. isin ([' A ',' Guard ']). all (axis= 1 )]

#view filtered DataFrame
print (df)

  team position points
0 A Guard 11
1 A Guard 18

フィルターされたデータフレームには、チーム列が「A」に等しくポジション列が「Guard」に等しい行のみが残ることに注意してください。

例 2: 少なくとも 1 つの列が特定の値と等しいフィルター

次の構文を使用して、チーム列が「A」に等しい行、またはポジション列が「ガード」に等しい行のみを含むようにデータフレームをフィルタリングできます。

 #filter rows where team column is 'A' or position column is 'Guard'
df = df[df[[' team ', ' position ']]. isin ([' A ',' Guard ']). any (axis= 1 )]

#view filtered DataFrame
print (df)

  team position points
0 A Guard 11
1 A Guard 18
2 A Forward 10
3 A Forward 22
4 B Guard 26
5 B Guard 35

フィルターされたデータフレームには、チーム列が「A」に等しい行、またはポジション列が「ガード」に等しい行のみが残ることに注意してください。

: pandas isin()関数の完全なドキュメントはここで見つけることができます。

追加リソース

次のチュートリアルでは、パンダで他の一般的なタスクを実行する方法を説明します。

パンダ: ピボット テーブルにフィルターを追加する方法
パンダ: 「次の内容を含まない」をフィルタリングする方法
パンダ: 特定の文字列を含む行をフィルターする方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です