【Python図解】Pandas DataFrameでデータを指定して抽出する方法(loc, iloc)を解説!

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

 
「Pandas DataFrameで行名・列名を指定してデータを抽出したい」
「Pandas DataFrameで行番号・列番号を指定してデータを抽出したい」

 
こんなお悩みを解決します。

 
今回の記事では、pythonのloc、ilocを使ってデータを抽出する方法ついて解説していきます。

pythonを活用したデータサイエンスでは、データを抽出する作業は頻繁に実施しますので、是非本記事で使い方を理解してほしいです❗️

今回は下記データ(Pandas DataFrame(以下df))を基に解説していきます。
 

 
まずはpythonの『loc』の使い方から説明します。
 

pythonの「loc」の使い方

 
pythonの「loc」を活用することで、行名・列名でデータを抽出できます。
基本の使い方は下記。
 

df.loc[行名, 列名]

 
例えば、dfの行名「3行目」、列名「’Name’」のデータを抽出する場合は、下記のようなコードで実行できます。

df.loc[3, 'Name']

<注意>pandasDataFrameで、行名が指定されていない場合は、0からの連番が割り振られ、行番号と行名が同じになります。そのためlocを使って指定する際の行名が数字になっています。

 
locメソッドではスライス「:」を使用して範囲指定して使用する使い方が頻出

例えば2〜4行目、’Age’〜height’までのデータを抽出する場合は、下記コードで実行できます。

df.loc[2:4 , 'Age':'height']

locでスライス「:」を使ってデータを指定するのは頻出なので、ぜひ使い方を理解しておいてください。
 
続いてpythonの『iloc』の使い方を解説します。
 

pythonの「iloc」の使い方

 
pythonのilocを活用することで、行番号・列番号でデータを指定できます。
下記のような感じ。

df.iloc[行番号, 列番号]

例えば、行番号「1」、列番号「0」のデータを抽出する場合は、下記のようなコードで実行できます。

df.iloc[1, 0]

ilocメソッドでもスライス「:」を使用して範囲指定して使用する使い方が頻出

例えば、1〜2行目、0列目から1列目までのデータを抽出する場合は、下記コードで実行できます。

df.iloc[1:3, 0:2]

pythonのilocで、スライス「:」を使用してデータを指定することは頻出ですので是非使い方を理解してください。

今回は以上です。
 
今回はpythonのPandas DataFrameでloc、ilocを活用して、データを指定して抽出する方法を解説しました。
少しでも皆さんのお役に立てれば幸いです。
 
✅下記記事にてPandasのメソッドの使い方をまとめていますので是非ご覧ください。

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

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

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

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

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

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