Pandasでのデータフレーム(DataFrame
)の作成方法は非常に柔軟で、いくつかのアプローチがあります。
ここでは代表的な方法を「基本」「辞書から作成」「リストから作成」「NumPyとの連携」の順に詳しく解説します。
目次
基本:DataFrameの作成とは
PandasのDataFrame
は「表形式のデータ構造」で、行(index)と列(columns)を持つ二次元データです。
Excelの表やSQLのテーブルに近いイメージです。
まずはPandasをインポートします。
import pandas as pd
辞書から作成する
一番よく使われるのが 辞書型からDataFrameを作成する方法です。
キーが列名、値がリストや配列になります。
data = {
'名前': ['佐藤', '鈴木', '高橋'],
'年齢': [25, 30, 22],
'職業': ['エンジニア', 'デザイナー', 'マーケター']
}
df = pd.DataFrame(data)
print(df)
ポイント
- キーが列名、値がデータのリスト
- 自動的にインデックス(0,1,2…)がつく
リストやタプルから作成する
リストをそのまま渡すことも可能です。
ただし、列名を指定する必要があります。
data = [
['佐藤', 25, 'エンジニア'],
['鈴木', 30, 'デザイナー'],
['高橋', 22, 'マーケター']
]
df = pd.DataFrame(data, columns=['名前', '年齢', '職業'])
print(df)
出力は同じようになります。
この方法は外部からデータをリストとして受け取ったときに便利です。
NumPy配列から作成する
NumPyとPandasは相性が良いので、数値データを扱う場合によく使われます。
import numpy as np
array = np.array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
df = pd.DataFrame(array, columns=['A', 'B', 'C'])
print(df)
DataFrameのインデックスを指定する
インデックス(行ラベル)を自分で設定することも可能です。
data = {
'名前': ['佐藤', '鈴木', '高橋'],
'年齢': [25, 30, 22],
}
df = pd.DataFrame(data, index=['a', 'b', 'c'])
print(df)
空のDataFrameを作成する
空の状態で定義して後からデータを追加することもできます。
df = pd.DataFrame(columns=['名前', '年齢', '職業'])
print(df)
まとめ
PandasでのDataFrame作成にはいくつかの方法があります。
- 辞書から作成 → もっとも直感的
- リストやタプルから作成 → 外部データの取り込みに便利
- NumPy配列から作成 → 数値演算に強い
- 外部ファイル(CSV, Excelなど)から読み込み → 説明はしていないが実務で最も多い
- 空のDataFrameを作成 → 後からデータを追加するケース
以上、PythonのPandasでのデータフレームの作成方法についてでした。
最後までお読みいただき、ありがとうございました。