【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のメソッドは非常に多く調べるのが大変なので、情報を集約して欲しい、...

 
✅ 機械学習・pythonの「勉強」について知りたい人は下記記事もお勧め

仕事で活用するための機械学習、pythonの「勉強」について解説しています。
機械学習の独学は勉強することが多く、特に挫折しがちです。。
機械学習を完全独学した私が、「社会で使える機械学習スキル」を最短で得るための勉強・勉強法について書いていますので是非読んで見てください。

仕事で活用するための機械学習、pythonの「勉強」について解説①|ノムオ
こんにちは。ノムオです😎 本来、勉強することに制約をかけるのはナンセンスだと考えていますが、今回はあえて書きます。 なぜ今回の記事を読んで欲しいのか? それは、 早く仕事で機械学習を活用してほしいから。 個人的には、独学で学べることは3割くらいで、残りの7割は仕事を通じてしか学べないと思っています。 例えば、1つの数式...

 
皆さんの機械学習の勉強がさらに進み、理解が深まることを願っています。

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