【Python/Numpy/Pandas】DataFrameの使い方

DataFrameとarrayの違いはなに?
DataFrameの使い方が分からない…
という方向けにDataFrameについて説明していきます。

DataFrameはデータ分析を行う際に必要になるので、データ分析をやってみたいという人は必ず学習しておきましょう。

本記事ではファイルの読み込みは使用せず、簡単なDataFrameの作成と扱い方を説明していきます。基礎的な内容になるのでおさえておいてください。

詳細な内容については以下の見出しをご確認ください。
ぜひ、本記事を読みながら手を動かして学習してみてください。

スポンサーリンク

DataFrameとarrayの違い

DataFrameとarrayをそれぞれ簡単に説明すると以下のような行列と表のことです。

行列
表1

DataFrameではExcelなどのスプレッドシートのような表を扱うことができます。本記事では扱っていませんが、Excelデータの入出力なんかもできちゃいます!
arrayを使用した行列の作成方法については以下の記事を参考にしてください。

DataFrameの使い方

DataFrameを使用する場合は準備としてNumpyとPandasをインストールする必要があります。

import numpy as np
import pandas as pd

DataFrameの作成

行方向をラベルをインデックス、列方向のラベルをカラムズを言います。
指定せずにDataFrameを作成すると、デフォルトで0から始まる整数の順列がインデックスとカラムズに入ります。

表1
df1 = pd.DataFrame(np.arange(9).reshape(3,3))
df1

インデックスとカラムズを指定して作成

インデックスとカラムズを指定してDataFrameを作成します。

表2
df2 = pd.DataFrame(np.arange(9).reshape(3,3), index=["a","b","c"], columns=["A","B","C"])
df2

インデックスとカラムズを変更

作成済みのDataFrameに対して、インデックスとカラムズを指定して変更します。

表1
右矢印

表2
df3 = df1.rename(index={0:'a',1:'b',2:'c'},columns={0:'A',1:'B',2:'C'})
df3

インデックスとカラムズを指定して入れ替えます。値はインデックスとカラムズに結びついているので、対応して位置も変わります。

表2
右矢印
表3
df4 = df3.reindex(index=['c','b','a'], columns=['C','B','A'])
df4

インデックスとカラムズの参照

df4.index #インデックスを参照
>>>(出力結果)
Index(['c', 'b', 'a'], dtype='object')

df4.columns #カラムズを参照
>>>(出力結果)
Index(['C', 'B', 'A'], dtype='object')

特定の値を取得

インデックスやカラムズを指定して、特定の値を取得することができます。
ここでは以下の方法を解説します。
・指定したカラムズの値をすべて取得
・指定したインデックスの値をすべて取得
・インデックスとカラムズを指定して1つの値を取得
・インデックスとカラムズの位置を指定して値を取得(複数も可能)
 (※指定する位置は0から開始することに注意)

df4['B']  #指定したカラムズの値(列)をすべて取得
>>>(出力結果)
c     7
b     4
a     1

df4.loc['a']  #指定したインデックスの値(行)をすべて取得
>>>(出力結果)
C     2
B     1
A     0

df4['A']['b']  #DataFrame名[カラムズ][インデックス]
>>>(出力結果)
3

df4.iloc[2,1] #.iloc[インデックスの位置,カラムズの位置](コロンはすべての要素を取得)
>>>(出力結果)
1

まとめ

DataFrameの作成から、インデックスおよびカラムズの変更、特定の値の取得の方法について説明しました。実際はExcelやCSVファイルを読み込んでDataFrameを操作することが多いと思います。
次回はファイルの読み込みとデータの扱い方を説明していきます。

おすすめの参考書

みんなのPython 第4版【電子書籍】[ 柴田 淳 ]


スポンサーリンク

フォローする