【Pandas】ある列に特定の要素がある行の抽出.isin編

どうもたぬきねこです!

Pandasを使っていると、ある列に指定した要素がある行を抽出したい時があると思います。

例えば年齢がXの人を抽出したい時とかですね。

今回はそれを実現出来る方法を紹介します。

ちなみに、実は前回紹介した方法でもできます(笑)。

ある列に特定の要素がある行の抽出するサンプルコード

では、ある列に特定の要素がある行の抽出をやってみようと思います。

今回は以下のようなDataFrameを使います。

>>> import pandas as pd
>>> df = pd.DataFrame([[1,2,3],[4,5,6],[7,8,9],[10,11,12]],
...                        index=["R1","R2","R3","R4"],
...                        columns=["C1","C2","C3"])
...
>>> df
    C1  C2  C3
R1   1   2   3
R2   4   5   6
R3   7   8   9
R4  10  11  12

まずは、C2列に2がある行を抽出してみます。基本的にisinメソッドを使って抽出します。

>>> df[df["C2"].isin([2])]
    C1  C2  C3
R1   1   2   3

C2列に2が含まれる1行目が抽出されました。

では、もう1つ試しにC3列に9がある行を抽出してみます。

>>> df[df["C3"].isin([9])]
    C1  C2  C3
R3   7   8   9

C3列に9が含まれるR3行目が抽出されました!

簡単ですね

おわりに

今回は、特定の列にある要素が含まれる行を抽出する方法を紹介しました。

前回紹介した通りisinを使わなくてもできるんですが、isinを知っておくのは良いと思います。

Pandasだとデータ操作が楽で助かります。

また、いろいろ調べて紹介していきます。

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