【Python図解】isin()メソッドを使って欲しいデータのみを抽出する方法を解説!

Pythonでこんな悩みはありませんか?

「Pythonで欲しいデータのみを抽出したい、、しかしやり方がわからない」

こんなお悩みを解決します。
結論をお話しするとpythonのisin()メソッドを使用することで欲しいデータのみを抽出できます。

今回の記事では、下記2点を解説します。

    • isin()メソッドは具体的に何をしているのか?
    • isin()メソッドを使って欲しいデータを抽出する方法

それでは解説します。

isin()メソッドは何をしているのか?

「タイタニック予測問題のデータ」を使って解説します。

「タイタニック予測問題」のtrainデータをdfとして読み込みます。dfは12個のカラムから構成され、891個のデータが格納されています。

isin()メソッドを使った場合、その返り値は「bool型」を返します。True or Falseと表記されるやつです。
isin()メソッドを使って、dfのSex列を男性(True)or 女性(False)と表示してみます。

dfの’Sex’列がmaleのデータは全てTrueになっていることがわかります。
このようにisin()メソッドを用いることで「bool型」に変換することができます。

そして、isin()メソッドを使用して「bool型」に変換することで欲しいデータを抽出できます。

isin()メソッドを使って欲しいデータを抽出する方法

dfから男性のみのデータを抽出する場合を考えてみましょう。
「bool型」を活用して、df[男性の場合はTrue、それ以外はFalse]のように記載できれば男性のみのデータを抽出できます。

‘Sex’列が男性かどうか「bool型」で表記するコードは、 df[‘Sex’].isin([‘male’]) です。

これをdf[ ]で囲めばいいので、
df[df[‘Sex’].isin([‘male’])] とコードを書けばOKです。
dfの中から’Sex’列が’male’となっているデータを抽出することができました。

今回は’Sex’列が’male’という1個の条件でdfの中からデータを抽出しましたが、
1個の要素だけでなく、複数要素でデータを抽出することもできます。

isin()メソッドを用いて複数要素で抽出する場合

dfのEmbarkedカラムの中には’S’、’C’、’Q’の3つが入っています。

dfからEmbarkedカラムが’C’、’Q’であるデータのみを抽出する場合を考えてみましょう。

dfからEmbarkedカラムが’C’、’Q’であるデータのみを抽出する場合には、isin([ ])メソッドの[ ]の中に[‘C’,’Q’]と2個記載すればOKです。
Embarked列の中が’C’、’Q’のみになっていることが確認できるかと思います。

複数あればisin([ ])メソッドの中に、複数記載すればOKです。

今回はisin()メソッドを用いてPandas DataFrameから欲しいデータのみを抽出する方法を解説しました。
Pandas DataFrameでデータを加工することは非常に多いと思いますので参考になれば幸いです。

また下記記事で、pandasをまとめていますので良ければご活用ください。

【Python図解】Pandasのメソッド解説記事まとめ
今回の記事では、私がpython初学者だった時に感じた悩みを解決する記事を書いています。 「Pandasのメソッドの解説記事は多いが、全体像がわからない、、」 「Pandasのメソッドは非常に多く調べるのが大変なので、情報を集約して欲しい、...
タイトルとURLをコピーしました