Pythonで同じ長さの複数のリストから辞書を使ってPandas DataFrameを作成する方法
PandasのDataFrameはさまざまな方法で作成できます。その一つが、辞書(dict)をDataFrameに変換するアプローチです。本記事では、同じ長さを持つ3つのリストをPythonの辞書にまとめ、それをPandasのデータフレームへ変換する2つの方法を解説します。
方法1:個別に宣言したリストと辞書を使う
このアプローチでは、まず各リストを個別に宣言します。次に、それぞれのリストを対応するキーの値として辞書定義の中に格納し、最後に pd.DataFrame メソッドを辞書に適用してデータフレームを生成します。
コード例
import pandas as pd
# 試験スケジュール用のリスト
Days = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri']
Sub = ['Chemistry', 'Physics', 'Maths', 'English', 'Biology']
Time = ['2 PM', '10 AM', '11 AM', '1 PM', '3 PM']
# 試験スケジュールの辞書
Exam_Schedule = {'Exam Day': Days,
'Exam Subject': Sub,
'Exam Time': Time}
# 辞書からDataFrameへ変換
Exam_Schedule_df = pd.DataFrame(Exam_Schedule)
print(Exam_Schedule_df)
実行結果
上記のコードを実行すると、以下の出力が得られます。
Exam Day Exam Subject Exam Time 0 Mon Chemistry 2 PM 1 Tue Physics 10 AM 2 Wed Maths 11 AM 3 Thu English 1 PM 4 Fri Biology 3 PM
方法2:辞書内に直接リストを記述する
このアプローチでは、リストを個別に宣言する代わりに、辞書の値として直接記述します。これによりコードがコンパクトになり、データ構造全体をひと目で把握しやすくなります。辞書からデータフレームへの変換手順は、方法1と同様です。
コード例
import pandas as pd
# 試験スケジュールの辞書(値としてリストを直接記述)
Exam_Schedule = {
'Exam Day': ['Mon', 'Tue', 'Wed', 'Thu', 'Fri'],
'Exam Subject': ['Chemistry', 'Physics', 'Maths', 'English', 'Biology'],
'Exam Time': ['2 PM', '10 AM', '11 AM', '1 PM', '3 PM']
}
# 辞書からDataFrameへ変換
Exam_Schedule_df = pd.DataFrame(Exam_Schedule)
print(Exam_Schedule_df)
実行結果
上記のコードを実行すると、以下の出力が得られます。
Exam Day Exam Subject Exam Time 0 Mon Chemistry 2 PM 1 Tue Physics 10 AM 2 Wed Maths 11 AM 3 Thu English 1 PM 4 Fri Biology 3 PM
まとめ
どちらの方法でも、辞書のキーが列名(カラム名)になり、値であるリストがその列のデータとして扱われます。リストを別途管理したい場合は方法1、コードの簡潔さを重視する場合は方法2がおすすめです。なお、すべてのリストは同じ長さである必要がある点に注意してください。長さが異なる場合にはエラーが発生します。
-
Pythonで文字列から辞書(dict)を作成する2つの方法【eval()とジェネレータ式】
はじめにPythonプログラミングでは、「キー=値」のような形式で記述された文字列を、実際の辞書型(dict)オブジェクトへ変換したい場面がよくあります。この記事では、組み込み関数 dict() を直接使わずに文字列から辞書を作成する2つの方法を、具体的なコード例と実行結果とともに解説します。問題の概要課題: 文字列の入力が与えられるので、これを辞書型へ変換する必要があります。ここでは、以下の2つのアプローチを取り上げます。方法1:eval() 関数を使う方法方法2:ジェネレータ式を使う方法方法1:eval() 関数を使うeval() 関数は、文字列の内容がそのまま辞書リテラルとして有効な構文
-
Pythonで2つのリストから辞書(dict)を作成する方法を解説
Pythonで2つのリストから辞書を作成する基本の方法Pythonでは、キーのリスト(L1)と値のリスト(L2)がそれぞれ別のリストオブジェクトとして用意されている場合、辞書内包表記を使うことで、簡潔に辞書オブジェクトを構築できます。以下のように、リストのインデックス番号をキーとして、対応する要素同士を組み合わせるのが基本的な考え方です。辞書内包表記を使用した例>>> L1 = [a,b,c,d] >>> L2 = [1,2,3,4] >>> d = {L1[k]:L2[k] for k in range(len(L1))} >>