ある列に指定したある要素(複数のうちどれか)含まれている行を抽出したいときがあったので、メモ。
(私の頭ではうまく自然言語で表現できません)
例えば、以下の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の行が抽出されます。
コメント