複数の列を検索するためのPandasのDataFrameのisin()メソッドの使用方法


以下に、isin()メソッドを使用して複数の列を検索する方法の例を示します。

import pandas as pd
# サンプルのDataFrameを作成する
data = {'列A': [1, 2, 3, 4, 5],
        '列B': ['a', 'b', 'c', 'd', 'e'],
        '列C': ['x', 'y', 'z', 'x', 'y']}
df = pd.DataFrame(data)
# 複数の列に存在する値を含む行を抽出する
values_to_search = [2, 'c']
result = df[df[['列A', '列B']].isin(values_to_search).any(axis=1)]
print(result)

このコードでは、列Aと列Bのいずれかに2または'c'の値を含む行を抽出しています。isin()メソッドは、指定した値が各列に存在するかどうかを確認し、結果を真偽値のDataFrameとして返します。any(axis=1)を使用することで、少なくとも1つの列で値が存在する行を抽出します。

以上のコードを実行すると、次の出力が得られます。

   列A 列B 列C
1   2  b  y
2   3  c  z

これで、複数の列を検索するためにisin()メソッドを使用する方法がわかりました。この方法を活用して、データフレームの特定の値の存在を効率的に確認できます。