【Python】PandasのDataFrameで行、列、行列(セル)の参照を行う方法を紹介

【Python】PandasのDataFrameで行、列、行列(セル)の参照を行う方法を紹介

この記事ではDataFrameにおいて行や列、行列(セル)の参照方法を紹介します。
少し応用の参照方法も紹介していますが、普通の参照方法だけを知りたい場合は大項目に記載しているのでそちらのみ見て頂ければと思います。

この記事の目標
・DataFrameの列の参照方法
・DataFrameの行の参照方法および応用
・DataFrameの行列(セル指定)の参照方法および応用

DataFrameとSeries型の違いがわからない人はまず以下の記事で理解しましょう!!
DataFrameとSeriesの違いを紹介
その他Pythonの記事は以下にまとめています!!

Python記事まとめ

[スポンサーリンク]


列の参照

列の参照を確認するために以下のDataFrameを使用します。

列の参照方法は簡単で以下のように指定すれば参照できます。

例えばONE列を参照する場合はこんな感じ。

ONE列の内容がSeries型で返ってきました。

行、行列の選択には2つの方法がある

次に行や行列の参照方法を紹介する前に、大きく2つの方法が存在していることを紹介します。
用途によって使い分けましょう。

以下のようにlocフィールドilocフィールドがあります。

フィールド名 説明
loc indexやcolumnを指定して参照
iloc 行番号や列番号を指定して参照

 

具体例を紹介するために以下のDataFrameを使用します。

 

例えばtwo行を参照する時、index名はtwoですが行番号で示すと1行目(最初は0行目)になります。
つまりtwo行と指定しても1行目と指定しても参照することができます。

この時にtwo行としてindexを指定する場合はlocフィールドを使用します。

 

次に1行目と行番号を指定する場合はilocフィールドを使用します。

 

行と列を参照する時も同じでtwo行のTWO列目を参照する場合、行番号と列番号で表すと1行目の1列目となります。
つまりtwo行のTWO列目として参照することもできますし、1行1列目として参照することもできます。

ということでそれぞれlocフィールドilocフィールドを用いるとこんな感じで参照できます。

 

このようにindex名column名を指定する場合はlocフィールド行番号列番号を指定する場合はilocフィールドを使用するということを覚えておきましょう。

行の参照

では行を参照する方法を紹介します。
確認するうえで以下のDataFrameを使用します。

DataFrameで行を参照するときはlocフィールドまたはilocフィールドを使用します。
2つの違いについては前述の「行、行列の選択には2つの方法がある」で紹介しています。

それぞれの表記方法は以下の通り。

 

例えばindex名twoの行をlocで参照したい時はこんな感じになります。

 

ilocの場合はこんな感じ

two行の値がSeries型で表示されていることが確認できます。

指定の行間の行参照

1行目から3行目までというように指定の行間のみを参照したいという時はスライシングを使用します。
ちなみにスライシングを使用するので中身が自動的に行であると認識される関係で、locilocフィールドを使用しなくても参照できます。

参照する時の記載方法は以下の通り

確認する上で引き続き以下のDataFrameを使用します。

例えばtwo行からthree行までlocで参照したいときは以下のように指定します。

スライシングを使用するので以下でも可能

 

ilocの場合はこんな感じ

スライシングを使用するので以下でも可能

このようにtwo行からthree行の値が参照できました。

最初から指定の行間までの行参照

最初の行から指定の行まで参照する時は以下のように:を最初に指定して表記することで参照します。
スライシングを使用するので中身が自動的に行であると認識される関係で、locilocフィールドを使用しなくても参照できます。

確認する上で引き続き以下のDataFrameを使用します。

 

例えば最初の行からthree行までをlocで参照する時はこんな感じ。

スライシングを使用するので以下でも可能。

 

ilocの場合はこちら

スライシングを使用するので以下でも可能。

このようにone行からthree行まで参照できました。

指定の行から最終行の参照

逆に指定の行から最後の行まで参照したいという時は:の位置を最後にします。
スライシングを使用するので中身が自動的に行であると認識される関係で、locilocフィールドを使用しなくても参照できます。

確認する上で引き続き以下のDataFrameを使用します。

 

two行から最後までlocで参照する時はこんな感じ。

スライシングを使用するので以下でも可能。

 

ilocの場合はこちら

スライシングを使用するので以下でも可能。

このようにtwo行からfour行まで参照できました。

[スポンサーリンク]


行列の参照

次に行列(セル)の参照を行います。
確認する上で以下のDataFrameを使用します。

 

行列を参照するにはlocフィールドまたはilocフィールドを使用します。
2つの違いについては前述の「行、行列の選択には2つの方法がある」で紹介しています。

参照する時の記載方法は以下の通り

 

例えばtwo行ONE列の数値をlocを使って参照したい場合は以下のような感じ。

 

ilocの場合はこちら

two行、ONE列にある12が参照されました。

複数の行、複数の列を参照

2行目と3行目を見るときに2列目と3列目を見たい、
1行目を見るときに2列目と3列目を見たいという時の参照方法を紹介します。

基本的に複数指定する場合はリストを使用します。
もちろん指定が1つならばリストを使う必要はありません。

 

確認する上で引き続き以下のDataFrameを使用します。

 

例えばtwo行のTWO列とTHREE列をlocで参照したい時はこんな感じ。

 

ilocの場合はこちら

 

次にtwo行とthree行のTWO列をlocで参照する時はこんな感じ。

 

ilocの場合はこちら

 

次にtwo行とthree行のTWO列とTHREE列をlocで参照する時はこんな感じ。

 

ilocの場合はこちら

すべてにおいて指定の行や列を参照できました。

特定行間の列を参照

1行目から3行目までというように指定の行間のみを参照したいという時は行列指定でもスライシングを使用します。

参照する時の記載方法は以下の通り

確認する上で引き続き以下のDataFrameを使用します。

 

例えばtwo行からthree行までのTWO列をlocで参照したいときは以下のように指定します。

 

ilocの場合はこんな感じ

two行からthree行にあるTWO列の値が参照できました。

最初から指定の行間までの列参照

最初の行から指定の行まで参照する時は以下のように表記をして参照します。

確認する上で引き続き以下のDataFrameを使用します。

 

例えば最初の行からthree行までのTWO列をlocで参照する時はこんな感じ。

 

ilocの場合はこちら

one行からthree行までのTWO列を参照できました。

指定の行から最終行の参照

逆に指定の行から最後の行まで参照したいという時は:の位置を最後にします。

参照する時の記載方法は以下の通り

確認する上で引き続き以下のDataFrameを使用します。

 

two行から最後行までのTWO列をlocで参照する時はこんな感じ。

 

ilocの場合はこちら

two行からfour行までのTWO列の値を参照できました。

[スポンサーリンク]


Pandasカテゴリの最新記事