Python

Python初学者向け:Pandasのデータ構造DataFrameについて基本から解説

スポンサーリンク

 

この記事はこんな方におススメです
  • Pythonを始めたばかりで基本から学びたい方
  • Pythonの基本的な部分を速習してまずは全体像を把握しておきたい方

▶ Pandasを基本から解説しています。Seriesの基本は以下をご覧ください。

はじめに

Pandasの2つの主要なデータ構造であるSeriesとDataFrameのうち、2次元の表形式のデータを処理する「DataFrame」について基本から解説します。DataFrameとは何かの確認から始めて作り方までをみていきましょう。

DataFrame

DataFrameとは

DataFrameというデータ構造はPandasライブラリの大きな特徴となっています。DataFrameは2次元の表形式のデータを扱うことができます。Seriesのようにラベルを持つことができます。データフレームは2次元なので行方向(インデックス)と列方向(カラム)のラベルを持つことができます。

DataFrameの作り方

DataFrameの作り方もいろいろありますが、大別して以下の2つをおさえておけばよいでしょう。

  • 配列から作る:pd.DataFrame(array)
  • 辞書から作る

配列から作る

まずは配列から作る方法を確認していきましょう。ここではndarrayを使って作ってみることにします。

# ライブラリのインポート
import pandas as pd
import numpy as np

# サンプルのndarrayを作成
sample_array = np.arange(0,12).reshape(3,4)

# ndarrayからDataFrameを作成
pd.DataFrame(sample_array)
ndarrayからDataFrameを作成

このように、pd.DataFrame()で2次元のndarrayを指定するとDataFrameを作ることができます。但し、このままでは行ラベル(index) / 列ラベル(columns)ともに連番となるで使いにくいですね。このような場合には、index, columnsを指定することでラベルを付けることができます。

# indexとcolumnsを指定してDataFrameを作成
pd.DataFrame(sample_array,index=['A','B','C'],columns=['key1','key2','key3','key4'])
indexとcolumnsを指定してDataFrameを作成

辞書から作る

次に辞書からDataFrameを作る場合を見ていきましょう。辞書からDataFrameを作る場合、辞書型データが「各レコードに対応している」のか「各カラムに対応している」のかを意識する必要があります。まずは「各レコードに対応している」をみてみましょう。

# 辞書のサンプルデータを作成
dic1 = {
    'Name':'らくだ',
    'Age':32,
    'Zoo':'旭山動物園'
}
dic2 = {
    'Name':'ねこ',
    'Age':26,
    'Zoo':'旭山動物園'
}
dic3 = {
    'Name':'しまうま',
    'Age':37,
    'Zoo':'上野動物園'
}

# 辞書からDataFrameを作る
pd.DataFrame([dic1,dic2,dic3])
辞書のデータが各レコードに対応している場合

DataFrameができましたね。このように辞書のデータが各レコードに対応している場合は、次のような書式でDataFrameを作成することができます。

  • 辞書のデータが各レコードに対応している場合
    pd.DataFrame([dic1, dic2, dic3,…])

次に「各カラムに対応している」をみてみましょう。この場合は1つの辞書からDataFrameをつくることができます。

# 辞書データの作成
dic_4 = {
    'Name':['らくだ','ねこ','しまうま'],
    'Age':[32,26,37],
    'Zoo':['旭山動物園','旭山動物園','上野動物園']
}

# 1つの辞書からDataFrameを作成
pd.DataFrame(dic_4)
1つの辞書からDataFrameを作成

「各カラムに対応している」というのは、辞書の各valueがリストなどの配列で与えられてデータになっている場合です。このようにカラム(key)に対してデータ(value)が対応している辞書をpd.DataFrame()に指定してDataFrameを作ることができます。

辞書のkeyがカラムにvalueがデータに対応している場合
pd.DataFrame(dict)

DataFrameの作り方はまだまだ他にもありますが、学び始めの段階ではこのくらいを知っておけばよいでしょう。特に一つの辞書から作るパターンはよく使うので押さえておきましょう。

スポンサーリンク

まとめ

今回はDataFrameの作り方を整理しました。DataFrameの作り方はいろいろありますが、まずはいくつか代表的なものを覚えておけばよいでしょう。今回は配列から作る場合と辞書から作る場合を扱いました。辞書から作る場合は、各レコードと辞書が対応している場合と、辞書のkeyがカラムにvalueがデータに対応している場合を扱いました。

コメント

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