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()
Untuk mendapatkan senarai nilai untuk setiap lajur dan bukannya kamus pasangan index:data, gunakan hujah orient. Berikut ialah orientasi yang tersedia:
Pertimbangkan DataFrame berikut:
df = pd.DataFrame({'ID': ['p', 'q', 'r'], 'A': [1, 4, 4], 'B': [3, 3, 0], 'C': [2, 2, 9]})
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')
Ini akan mengembalikan kamus berikut:
{'p': [1, 3, 2], 'q': [4, 3, 2], 'r': [4, 0, 9]}
Berikut ialah contoh yang berbeza orientasi:
dikt:
df.to_dict('dict')
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}}
l ist:
df.to_dict('list')
Output:
{'ID': ['p', 'q', 'r'], 'A': [1, 4, 4], 'B': [3, 3, 0], 'C': [2, 2, 9]}
siri:
df.to_dict('series')
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}
pecah:
df.to_dict('split')
Output:
{'columns': ['ID', 'A', 'B', 'C'], 'data': [['p', 1, 3, 2], ['q', 4, 3, 2], ['r', 4, 0, 9]], 'index': [0, 1, 2]}
rekod :
df.to_dict('records')
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}]
indeks:
df.to_dict('index')
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}}
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!