2021年10月31日日曜日

【pandas】DataFrameによるデータフレームの作成

 データ分析用ライブラリpandasでは1次元のデータ構造Series(シリーズ)と2次元のテーブル型データ構造Dataframe(データフレーム)を用いる。データフレームの作成にはpd.DataFrameを用いる。

 ライブラリpandasを使うにはインポートが必要。通常次のようにpdと略されてインポートされる。

import pandas as pd


1. pandas.DataFrameの書式

 pandas.DataFrameの書式は以下の通り。

pandas.DataFrame(data=None, index=None, columns=None, dtype=None, copy=None)
引数 意味
data 用いるデータ。ndarray、イテラブルオブジェクト、辞書、データフレームなど
index ロウ名(行名)。データにロウ名がない場合、必要に応じて指定する。指定が無ければ0からの数字の列(0, 1, 2・・・)が用いられる。
columns カラム名(列名)。データにカラム名がない場合、必要に応じて指定する。指定が無ければ0からの数字の列(0, 1, 2・・・)が用いられる。
dtype データタイプの指定
copy 入力データからコピーするかどうか


2. データフレームの作成

 pd.DataFrameで引数にデータを与えるとデータフレームを作成できる。データの形式としてはndarray、イテラブルオブジェクト、辞書、データフレームなどを用いることができる。
 データとして3行3列のリストを与えた場合。行名、列名は与えていないので0からの連番の数字になる。

import pandas as pd

df = pd.DataFrame(data = [[25, 165, 65], [45, 178, 80], [32, 183, 72]])
print(df)

実行結果

   0   1  2
0 25 165 65
1 45 178 80
2 32 183 72


 列名を指定する場合、columnsを与える。

import pandas as pd

df = pd.DataFrame(data = [[25, 165, 65], [45, 178, 80], [32, 183, 72]],
                  columns = ['age', 'toll', 'weight'])
print(df)

実行結果

  age toll weight
0  25  165     65
1  45  178     80
2  32  183     72


 行名を指定する場合、indexを与える。

import pandas as pd

df = pd.DataFrame(data = [[25, 165, 65], [45, 178, 80], [32, 183, 72]],
                  index = ['Jane', 'Bob', 'Mike'])
print(df)

実行結果

      0   1  2
Jane 25	165 65
Bob  45	178 80
Mike 32	183 72


 キーと値からなる辞書型データを用いるとキーが列名となる。

import pandas as pd

df = pd.DataFrame({'age': [25, 165, 65], 'toll': [45, 178, 80], 'weight': [32, 183, 72]},
                 index = ['Jane', 'Bob', 'Mike'])
print(df)

実行結果

      age toll weight
Jane   25   45     32
Bob   165  178    183
Mike   65   80     72


 pd.DataFrameのデータは省略可能。その場合は空のデータフレームが作成される。

import pandas as pd

df = pd.DataFrame()
print(df)

実行結果




3. リファレンス

pandas > pandas.DataFrame

使用したバージョン:Python 3.8.8/pandas 1.2.4

0 件のコメント:

コメントを投稿