pandas.DataFrame.from_dictの基本的な使い方
pandasのDataFrame.from_dict
メソッドは、辞書からDataFrameを作成するための便利な方法です。基本的な使い方は以下の通りです。
import pandas as pd
# 辞書を定義します
data = {
'A': [1, 2, 3],
'B': [4, 5, 6],
'C': [7, 8, 9]
}
# 辞書からDataFrameを作成します
df = pd.DataFrame.from_dict(data)
print(df)
このコードを実行すると、以下のようなDataFrameが出力されます。
A B C
0 1 4 7
1 2 5 8
2 3 6 9
ここで、辞書のキー(‘A’, ‘B’, ‘C’)がDataFrameの列名に、各リスト([1, 2, 3], [4, 5, 6], [7, 8, 9])がその列の値になっています。
この方法は、各列が同じ長さのリストである場合に特に便利です。異なる長さのリストを含む辞書からDataFrameを作成する場合は、少し工夫が必要です。それについては次の小見出しで説明します。
リストを含む辞書からのDataFrameの作成
異なる長さのリストを含む辞書からDataFrameを作成する場合、DataFrame.from_dict
メソッドのorient
パラメータを'index'
に設定します。以下に例を示します。
import pandas as pd
# 異なる長さのリストを含む辞書を定義します
data = {
'A': [1, 2, 3],
'B': [4, 5],
'C': [6]
}
# 辞書からDataFrameを作成します
df = pd.DataFrame.from_dict(data, orient='index')
# DataFrameを転置します
df = df.transpose()
print(df)
このコードを実行すると、以下のようなDataFrameが出力されます。
A B C
0 1.0 4.0 6.0
1 2.0 5.0 NaN
2 3.0 NaN NaN
ここで、辞書のキー(‘A’, ‘B’, ‘C’)がDataFrameの列名に、各リスト([1, 2, 3], [4, 5], [6])がその列の値になっています。リストの長さが異なる場合、足りない部分はNaN
で埋められます。
この方法は、各列が異なる長さのリストである場合に特に便利です。次の小見出しでは、DataFrameから辞書への変換について説明します。
DataFrameから辞書への変換
pandasのDataFrame.to_dict
メソッドを使用すると、DataFrameを辞書に変換することができます。以下に基本的な使い方を示します。
import pandas as pd
# DataFrameを定義します
df = pd.DataFrame({
'A': [1, 2, 3],
'B': [4, 5, 6],
'C': [7, 8, 9]
})
# DataFrameを辞書に変換します
data = df.to_dict()
print(data)
このコードを実行すると、以下のような辞書が出力されます。
{'A': {0: 1, 1: 2, 2: 3}, 'B': {0: 4, 1: 5, 2: 6}, 'C': {0: 7, 1: 8, 2: 9}}
ここで、DataFrameの列名(‘A’, ‘B’, ‘C’)が辞書のキーに、各列の値がそのキーの値(さらに辞書形式)になっています。内部の辞書では、DataFrameのインデックスがキーに、そのインデックスに対応する値が値になっています。
この方法は、DataFrameの全てのデータを辞書形式で取得したい場合に便利です。次の小見出しでは、これらの知識を応用した実用的な例について説明します。
実用的な例とその応用
ここでは、pandasのDataFrame.from_dict
とDataFrame.to_dict
メソッドを使った実用的な例を紹介します。
データの前処理
データ分析を行う際、元のデータが辞書形式で提供されることがよくあります。この辞書をDataFrameに変換することで、pandasの強力なデータ操作機能を活用することができます。
import pandas as pd
# 辞書形式のデータを定義します
data = {
'Name': ['Alice', 'Bob', 'Charlie'],
'Age': [25, 30, 35],
'City': ['New York', 'Los Angeles', 'Chicago']
}
# 辞書からDataFrameを作成します
df = pd.DataFrame.from_dict(data)
print(df)
データの後処理
データ分析の結果を他のシステムや人に提供する際、DataFrameを辞書に変換することで、データの形式を柔軟に対応することができます。
import pandas as pd
# DataFrameを定義します
df = pd.DataFrame({
'Name': ['Alice', 'Bob', 'Charlie'],
'Age': [25, 30, 35],
'City': ['New York', 'Los Angeles', 'Chicago']
})
# DataFrameを辞書に変換します
data = df.to_dict()
print(data)
これらの方法を活用することで、pandasを使ったデータ分析の幅が広がります。次の小見出しでは、さらに応用的な例を紹介します。