Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Menukar Pandas DataFrame kepada Kamus dengan Orientasi Berbeza?

Bagaimana untuk Menukar Pandas DataFrame kepada Kamus dengan Orientasi Berbeza?

Linda Hamilton
Lepaskan: 2024-12-06 03:57:12
asal
1020 orang telah melayarinya

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

Menukar Pandas DataFrame kepada Kamus

Untuk menukar Pandas DataFrame kepada kamus, gunakan kaedah to_dict(). Secara lalai, kaedah ini menggunakan nama lajur DataFrame sebagai kunci kamus dan mencipta kamus indeks: pasangan data untuk setiap lajur.

df.to_dict()
Salin selepas log masuk

Menyesuaikan Output Kamus

Untuk mendapatkan senarai nilai untuk setiap lajur dan bukannya kamus pasangan index:data, gunakan hujah orient. Berikut ialah orientasi yang tersedia:

  • dikt: Orientasi lalai (nama lajur sebagai kunci, indeks: pasangan data sebagai nilai)
  • senarai: Kunci ialah nama lajur, nilai ialah senarai lajur data
  • siri: Kekunci ialah nama lajur, nilai ialah objek Siri yang mengandungi data
  • pecah: Pisahkan lajur/data/indeks kepada kunci berasingan
  • rekod: Setiap baris menjadi kamus dengan nama lajur sebagai kunci dan nilai data sebagai nilai
  • indeks: Serupa dengan 'rekod', tetapi kunci ialah label indeks dan bukannya senarai

Contoh

Pertimbangkan DataFrame berikut:

df = pd.DataFrame({'ID': ['p', 'q', 'r'], 'A': [1, 4, 4], 'B': [3, 3, 0], 'C': [2, 2, 9]})
Salin selepas log masuk

Untuk menukar DataFrame ini ke kamus dengan 'ID' sebagai kunci dan nilai lajur lain sebagai senarai, gunakan kod berikut:

df.set_index('ID').T.to_dict('list')
Salin selepas log masuk

Ini akan mengembalikan kamus berikut:

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

Orientasi Lain

Berikut ialah contoh yang berbeza orientasi:

dikt:

df.to_dict('dict')
Salin selepas log masuk

Output:

{'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}}
Salin selepas log masuk

l ist:

df.to_dict('list')
Salin selepas log masuk

Output:

{'ID': ['p', 'q', 'r'], 'A': [1, 4, 4], 'B': [3, 3, 0], 'C': [2, 2, 9]}
Salin selepas log masuk

siri:

df.to_dict('series')
Salin selepas log masuk

Output :

{'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}
Salin selepas log masuk

pecah:

df.to_dict('split')
Salin selepas log masuk

Output:

{'columns': ['ID', 'A', 'B', 'C'], 'data': [['p', 1, 3, 2], ['q', 4, 3, 2], ['r', 4, 0, 9]], 'index': [0, 1, 2]}
Salin selepas log masuk

rekod :

df.to_dict('records')
Salin selepas log masuk

Output:

[{'ID': 'p', 'A': 1, 'B': 3, 'C': 2}, {'ID': 'q', 'A': 4, 'B': 3, 'C': 2}, {'ID': 'r', 'A': 4, 'B': 0, 'C': 9}]
Salin selepas log masuk

indeks:

df.to_dict('index')
Salin selepas log masuk

Output:

{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}}
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Menukar Pandas DataFrame kepada Kamus dengan Orientasi Berbeza?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan