【Pandas】ある列に指定したある要素(複数のうちどれか)が含まれている行を抽出する

ある列に指定したある要素(複数のうちどれか)含まれている行を抽出したいときがあったので、メモ。
(私の頭ではうまく自然言語で表現できません)

例えば、以下のdataframeに対して、B列がone, threeの行を抽出したいとします。

実装してみます。

import pandas as pd
import numpy as np

df = pd.DataFrame(
    {
        "A": ["foo", "bar", "foo", "bar", "foo", "bar", "foo", "foo"],
        "B": ["one", "one", "two", "three", "two", "two", "one", "three"],
        "C": np.random.randn(8),
        "D": np.random.randn(8),
    }
)

# 以下が対象のコード
df[df["B"].isin(["one", "three"])]

上を実行すると、B列がone or threeの行が抽出されます。

コメント

タイトルとURLをコピーしました