Pandas DataFrame を辞書に変換するには、to_dict() メソッドを使用します。デフォルトでは、このメソッドは DataFrame の列名をディクショナリ キーとして使用し、各列のインデックス:データ ペアのディクショナリを作成します。
df.to_dict()
各列の値を指定するには、index:data ペアの辞書の代わりに orient 引数を使用します。利用可能な方向は次のとおりです:
を考えてみましょう。次の DataFrame:
df = pd.DataFrame({'ID': ['p', 'q', 'r'], 'A': [1, 4, 4], 'B': [3, 3, 0], 'C': [2, 2, 9]})
この DataFrame を 'ID' を持つ辞書に変換するにはキーと他の列の値をリストとして使用するには、次のコードを使用します:
df.set_index('ID').T.to_dict('list')
これにより、次の辞書が返されます:
{'p': [1, 3, 2], 'q': [4, 3, 2], 'r': [4, 0, 9]}
ここにありますさまざまな例向き:
dict:
df.to_dict('dict')
出力:
{'ID': {'p': 'p', 'q': 'q', 'r': 'r'}, 'A': {0: 1, 1: 4, 2: 4}, 'B': {0: 3, 1: 3, 2: 0}, 'C': {0: 2, 1: 2, 2: 9}}
l ist:
df.to_dict('list')
出力:
{'ID': ['p', 'q', 'r'], 'A': [1, 4, 4], 'B': [3, 3, 0], 'C': [2, 2, 9]}
series:
df.to_dict('series')
出力:
{'ID': 0 p 1 q 2 r Name: ID, dtype: object, 'A': 0 1 1 4 2 4 Name: A, dtype: int64, 'B': 0 3 1 3 2 0 Name: B, dtype: int64, 'C': 0 2 1 2 2 9 Name: C, dtype: int64}
分割:
df.to_dict('split')
出力:
{'columns': ['ID', 'A', 'B', 'C'], 'data': [['p', 1, 3, 2], ['q', 4, 3, 2], ['r', 4, 0, 9]], 'index': [0, 1, 2]}
レコード :
df.to_dict('records')
出力:
[{'ID': 'p', 'A': 1, 'B': 3, 'C': 2}, {'ID': 'q', 'A': 4, 'B': 3, 'C': 2}, {'ID': 'r', 'A': 4, 'B': 0, 'C': 9}]
インデックス:
df.to_dict('index')
出力:
{0: {'ID': 'p', 'A': 1, 'B': 3, 'C': 2}, 1: {'ID': 'q', 'A': 4, 'B': 3, 'C': 2}, 2: {'ID': 'r', 'A': 4, 'B': 0, 'C': 9}}
以上がPandas DataFrame を異なる向きのディクショナリに変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。