どうもたぬきねこです!
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だとデータ操作が楽で助かります。
また、いろいろ調べて紹介していきます。