ホームページ >バックエンド開発 >Python チュートリアル >Pandas DataFrame をリスト値を含むディクショナリに変換するにはどうすればよいですか?

Pandas DataFrame をリスト値を含むディクショナリに変換するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-14 08:44:10330ブラウズ

How to Convert a Pandas DataFrame to a Dictionary with List Values?

Pandas DataFrame を辞書に変換する

多くのデータ操作タスクでは、Pandas DataFrame から便利な形式にデータを抽出する必要があります。一般的なニーズの 1 つは、DataFrame を Python ディクショナリに変換することです。この場合、最初の列の要素がキーになり、同じ行の他の列の要素が値になります。

次の DataFrame:

    ID   A   B   C
0   p    1   3   2
1   q    4   3   2
2   r    4   0   9

この DataFrame を次の辞書に変換したいと考えていますform:

{'p': [1,3,2], 'q': [4,3,2], 'r': [4,0,9]}

Solution

これを実現するには、Pandas が提供する to_dict() メソッドを利用できます。ただし、DataFrame を目的の形式に調整するには、「ID」列をインデックスとして設定し、.T を使用して DataFrame を転置する必要があります。さらに、to_dict() で orient 引数を指定して、各列の値のリストを出力します。

次のコードは、このアプローチを示しています。

df.set_index('ID').T.to_dict('list')

これにより、目的の辞書が生成されます。

{'p': [1, 3, 2], 'q': [4, 3, 2], 'r': [4, 0, 9]}

代替オプション

デフォルトの dict 形式以外にも、Pandas はさまざまなオプションを提供します。 orient 引数を使用して辞書を出力するためのオプション:

  • dict: 列名をキー、値をインデックス:データ ペアの辞書として使用します
  • リスト: キーは列名、値は列のリストですdata
  • series: 'list' に似ていますが、値は Series オブジェクトです
  • split: キーとして列名、値としてデータ値、ラベルを個別のキーとしてインデックス付けします
  • レコード: 各行は次の辞書になります。列名をキー、データを値として使用します
  • index: 「レコード」に似ていますが、インデックス ラベルをキーとして持つ辞書の辞書

以上がPandas DataFrame をリスト値を含むディクショナリに変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。