カテゴリ: Python 更新日: 2025/12/16

Pythonの辞書をデータフレーム(Pandas)に変換する方法 初心者向け完全ガイド

Pythonの辞書をデータフレーム(Pandas)に変換する方法
Pythonの辞書をデータフレーム(Pandas)に変換する方法

先生と生徒の会話形式で理解しよう

生徒

「Pythonで辞書を表形式にして見やすくしたいのですが、どうすればいいですか?」

先生

「それならpandas(パンダス)というライブラリを使って、辞書をデータフレームに変換するのが良いですよ。」

生徒

「データフレームって何ですか?」

先生

「データフレームは表形式のデータ構造で、エクセルのように行と列を持つ形でデータを管理できるものです。Pandasではこれを簡単に作れます。」

-

1. Pandasとデータフレームとは?

1. Pandasとデータフレームとは?
1. Pandasとデータフレームとは?

PandasはPythonでデータ分析を行うためのライブラリです。特にデータフレーム(DataFrame)を使うことで、辞書・リスト・CSVファイルなど様々なデータを表形式に変換できます。

データフレームを使うと、列ごとの計算、フィルタリング、並び替えなどが簡単にできます。

2. 辞書をデータフレームに変換する基本

2. 辞書をデータフレームに変換する基本
2. 辞書をデータフレームに変換する基本

まずはPandasをインポートして、辞書を直接データフレームに変換してみましょう。


import pandas as pd

data = {
    "名前": ["田中", "佐藤", "鈴木"],
    "年齢": [28, 34, 22],
    "出身地": ["東京", "大阪", "福岡"]
}

df = pd.DataFrame(data)
print(df)

    名前  年齢 出身地
0   田中  28   東京
1   佐藤  34   大阪
2   鈴木  22   福岡

キーが列名、値がリストになっていれば、そのまま表形式に変換できます。

3. 辞書のリストをデータフレームに変換する

3. 辞書のリストをデータフレームに変換する
3. 辞書のリストをデータフレームに変換する

1件ごとのデータを辞書にして、それをリストにまとめても変換できます。


data_list = [
    {"名前": "田中", "年齢": 28, "出身地": "東京"},
    {"名前": "佐藤", "年齢": 34, "出身地": "大阪"},
    {"名前": "鈴木", "年齢": 22, "出身地": "福岡"}
]

df = pd.DataFrame(data_list)
print(df)

    名前  年齢 出身地
0   田中  28   東京
1   佐藤  34   大阪
2   鈴木  22   福岡

この方法は、データを1行ずつ追加するイメージで管理できるため、Web APIやファイル読み込み後の処理でも使いやすいです。

4. インデックス(行番号)を指定して変換する

4. インデックス(行番号)を指定して変換する
4. インデックス(行番号)を指定して変換する

行のラベルを指定することもできます。


df = pd.DataFrame(data, index=["社員A", "社員B", "社員C"])
print(df)

      名前  年齢 出身地
社員A  田中  28   東京
社員B  佐藤  34   大阪
社員C  鈴木  22   福岡

インデックスを使うことで、行を名前で管理でき、検索やデータ抽出がしやすくなります。

-

5. ネスト構造の辞書をデータフレームに変換する

5. ネスト構造の辞書をデータフレームに変換する
5. ネスト構造の辞書をデータフレームに変換する

辞書の中にさらに辞書が入っている場合は、orientパラメータを使って変換します。


nested_data = {
    "社員A": {"名前": "田中", "年齢": 28, "出身地": "東京"},
    "社員B": {"名前": "佐藤", "年齢": 34, "出身地": "大阪"},
    "社員C": {"名前": "鈴木", "年齢": 22, "出身地": "福岡"}
}

df = pd.DataFrame.from_dict(nested_data, orient="index")
print(df)

      名前  年齢 出身地
社員A  田中  28   東京
社員B  佐藤  34   大阪
社員C  鈴木  22   福岡

このように、キーを行ラベルとして変換できます。

6. 実用例:集計や分析への応用

6. 実用例:集計や分析への応用
6. 実用例:集計や分析への応用

データフレームに変換すると、すぐに集計や分析が可能です。


print(df["年齢"].mean())  # 平均年齢
print(df["出身地"].value_counts())  # 出身地の人数集計

28.0
東京    1
大阪    1
福岡    1
Name: 出身地, dtype: int64

このように、辞書からデータフレームに変換すれば、分析やグラフ化がとても簡単になります。

まとめ

まとめ
まとめ

Pythonで辞書をデータフレームに変換する方法は、データ分析の入り口として非常に重要であり、Pandasを扱う上で欠かせない基本スキルです。辞書という柔軟で扱いやすいデータ構造を、表形式のデータフレームへ変換することで、情報を視覚的に整理し、集計・抽出・加工・統計処理など幅広い分析作業が可能になります。今回の記事では、辞書からデータフレームへ変換するためのさまざまな書き方を学びました。キーが列名になっている辞書をそのまま渡す方法、1行ごとに辞書を並べた「辞書のリスト」パターン、さらにネストされた辞書をorient="index"で行方向に展開する方法など、それぞれ目的に応じて使い分けることができます。 また、データフレームの活用は変換して終わりではありません。変換したあとのデータを用いて平均値を求めたり、特定の列で集計したり、フィルタリングで絞り込んだり、並び替えたりと、Excelでは煩雑になりがちな処理もPandasなら簡潔なコードで実現できます。辞書→データフレーム変換は、データ分析や可視化への第一歩として非常に有効であり、実務でも日常的に使われるテクニックです。 辞書からデータフレームに変換する際に押さえておくべきポイントは、各キーの値の長さが揃っているか、辞書の構造が「列を中心に扱いたいデータ」なのか「行を中心に扱いたいデータ」なのかを確認することです。行方向の辞書であればfrom_dictorient="index"を使い、縦に整ったパターンであれば通常のDataFrameで十分です。また、インデックス(行ラベル)を任意の文字列に指定することで、検索性や可読性を高めることもできます。こうした工夫を通じて、Pandasのデータフレームをより柔軟に扱えるようになります。 辞書はAPIレスポンス、Webスクレイピング結果、JSONデータや設定情報など、多くのプログラムでよく使われます。その辞書をデータフレームに変換できるようになることで、分析可能なデータ形式へ瞬時に変換でき、次の処理へと自然に進めるようになります。Pythonを使ったデータ分析では、こうした基本操作が大きな力を発揮するので、今回学んだ方法をしっかり練習して身につけておくことをおすすめします。

サンプルプログラム:辞書 → データフレーム変換の総まとめ

記事内容を一度に復習できるように、複数パターンをまとめたサンプルコードを紹介します。


import pandas as pd

# 1. 基本の辞書からデータフレームへ
data = {
    "名前": ["田中", "佐藤", "鈴木"],
    "年齢": [28, 34, 22],
    "出身地": ["東京", "大阪", "福岡"]
}
df1 = pd.DataFrame(data)
print("基本のデータフレーム:")
print(df1)

# 2. 辞書のリスト → データフレーム
data_list = [
    {"名前": "田中", "年齢": 28, "出身地": "東京"},
    {"名前": "佐藤", "年齢": 34, "出身地": "大阪"},
    {"名前": "鈴木", "年齢": 22, "出身地": "福岡"}
]
df2 = pd.DataFrame(data_list)
print("辞書のリストから:")
print(df2)

# 3. ネスト辞書 → orient='index'
nested = {
    "社員A": {"名前": "田中", "年齢": 28, "出身地": "東京"},
    "社員B": {"名前": "佐藤", "年齢": 34, "出身地": "大阪"},
    "社員C": {"名前": "鈴木", "年齢": 22, "出身地": "福岡"}
}
df3 = pd.DataFrame.from_dict(nested, orient="index")
print("ネスト辞書から:")
print(df3)

# 4. 集計例
print("平均年齢:", df3["年齢"].mean())
print("出身地の集計:")
print(df3["出身地"].value_counts())

このサンプルでは、辞書の形が変わっても柔軟にデータフレームへ変換できる点を確認できます。また、変換後の簡単な集計処理も行っており、データ分析へと自然に発展できる流れになっています。

先生と生徒の振り返り会話

生徒

「辞書の形が違ってもデータフレームに変換できるなんて、すごく便利ですね!特にネストされた辞書を行方向に展開できるのは驚きました。」

先生

「その通りです。辞書はデータ取得の段階で使われることが多いので、データフレームへ変換できると分析や加工が一気に楽になります。orientの使い方を覚えると、より柔軟に扱えます。」

生徒

「インデックスを指定できるのも便利でした。数字だけじゃなくてラベルで管理できると表が見やすいですし、検索も簡単になりますね。」

先生

「まさにその通り。データフレームはエクセルに近い感覚で扱えるので、業務や分析作業でも自然に活用できますよ。」

生徒

「辞書 → データフレーム → 集計という流れがすごく理解しやすかったです!自分でもAPIの結果をデータフレームに変換してみたいです。」

先生

「ぜひ挑戦してみてください。Pandasは学べば学ぶほど便利さが実感できるので、今回の基礎を大切にしながら応用へ進んでいきましょう。」

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

Pandasとは何ですか?Pythonでどんな場面で使うライブラリですか?

PandasはPythonでデータ分析を行うためのライブラリで、表形式データを扱うためのデータフレーム操作が簡単にできるという特徴があります。辞書やリスト、CSVなどのデータを表形式に変換し、集計や抽出、並び替えが容易に行えるため、データ分析の基礎としてよく使われます。
コメント
コメント投稿は、ログインしてください

まだ口コミはありません。

関連記事:
カテゴリの一覧へ
新着記事
New1
PHP
PHPのマルチバイト文字列を正しく扱う方法!初心者向けにmb_strlenとmb_substrをやさしく解説
New2
PHP
PHP の break, continue の使い方を完全解説!初心者でもわかるループ制御
New3
Python
Pythonで日本の元号を扱う方法を徹底解説!令和・平成の変換もバッチリ対応
New4
Python
Pythonの三項演算子とは?一行で条件分岐を記述する方法
-
人気記事
No.1
Java&Spring記事人気No1
Python
Pythonで辞書のキー・値・アイテムを取得する方法(keys(), values())
No.2
Java&Spring記事人気No2
Python
Pythonでエラースタックトレースを表示・取得する方法を徹底解説!初心者向け例外処理入門
No.3
Java&Spring記事人気No3
Python
Pythonのライブラリとは?標準ライブラリとサードパーティライブラリの違いを初心者向けに解説!
No.4
Java&Spring記事人気No4
Python
Pythonで辞書のネスト構造(入れ子辞書)を扱う方法 初心者向け完全ガイド
No.5
Java&Spring記事人気No5
Python
PythonでMySQLに接続する方法を完全解説!初心者でもわかるpymysqlの基本
No.6
Java&Spring記事人気No6
PHP
PHPで画像ファイルをアップロードする方法を初心者向けに徹底解説!わかりやすい画像処理入門
No.7
Java&Spring記事人気No7
Python
PythonでExcelファイル(.xlsx)を操作する方法を徹底解説!初心者でもできるopenpyxl・pandasの使い方
No.8
Java&Spring記事人気No8
PHP
PHP の基本構文(開始タグ・コメント・インデント)を完全ガイド!初心者向け解説
-
-