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

Pandas DataFrame を異なる向きのディクショナリに変換するにはどうすればよいですか?

Linda Hamilton
リリース: 2024-12-06 03:57:12
オリジナル
1035 人が閲覧しました

How to Convert a Pandas DataFrame to a Dictionary with Different Orientations?

Pandas DataFrame を辞書に変換する

Pandas DataFrame を辞書に変換するには、to_dict() メソッドを使用します。デフォルトでは、このメソッドは DataFrame の列名をディクショナリ キーとして使用し、各列のインデックス:データ ペアのディクショナリを作成します。

df.to_dict()
ログイン後にコピー

ディクショナリ出力のカスタマイズ

各列の値を指定するには、index:data ペアの辞書の代わりに orient 引数を使用します。利用可能な方向は次のとおりです:

  • dict: デフォルトの方向 (列名をキー、index:data ペアを値として)
  • list: キーは列名、値は列のリストです。 data
  • series: キーは列名、値はデータを含む Series オブジェクトです
  • split: 列/データ/インデックスを個別のキーに分割します
  • レコード: 各行は、列名をキーおよびデータとして持つ辞書になります。値としての値
  • インデックス: 「レコード」と似ていますが、キーはリストではなくインデックス ラベルです

を考えてみましょう。次の 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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート