DataFrameの部分データを取り出す

pandasは通常データを列単位で参照します。

../../../_images/dataframe_010.pngdataframe_010

../../../_images/dataframe_004.pngdataframe_004

DataFrame.loc

DataFrame.locを使うと行ラベル、列ラベルを利用してデータを取得できます。

行を指定したデータ

../../../_images/dataframe_011.pngdataframe_011

../../../_images/dataframe_005.pngdataframe_005

列を指定したデータ

../../../_images/dataframe_012.pngdataframe_012

列のみを指定する場合は行部分に : を書きます。(後述)

../../../_images/dataframe_006.pngdataframe_006

行、列を指定したデータ

../../../_images/dataframe_013.pngdataframe_013

../../../_images/dataframe_007.pngdataframe_007

DataFrame.iloc

DataFrame.ilocを使うと行番号、列番号を利用してDataFrame.locと同じようにデータを取得できます。

../../../_images/dataframe_008.pngdataframe_008

スライスの利用

ここで大カッコ内は [取り出す行, 取り出す列] を指定します。 [:, :-1] は「行の全て、列は始めから最後1つ前まで」という意味になります。

リストや文字列においても [:] は「すべて取り出す」という意味になりますし、 [:-1] は「始めから最後1つ前まで」という意味になります。

r = "テスト"[:]
r == "テスト"  # True になります

r = "テスト"[:-1]
r == "テス"  # True になります

../../../_images/dataframe_009.pngdataframe_009

../../../_images/dataframe_014.pngdataframe_014

行番号、列番号部分の記述方法はスライスと同じです。 詳しい解説は、文字列 - スライスを参照ください。