Membina Bingkai Data Panda daripada Nilai Kamus Bersarang dengan Pengindeksan Hierarki
Pertimbangkan kamus bersarang, user_dict, di mana kekunci tahap pertama mewakili UserIds, kekunci tahap kedua ialah Kategori, dan kekunci tahap ketiga ialah pelbagai Atribut. Matlamatnya adalah untuk membina DataFrame panda dengan indeks hierarki menggunakan nilai dalam tahap ketiga.
Untuk mencapai matlamat ini, kita perlu membentuk semula kunci kamus menjadi tupel yang mewakili indeks hierarki. Menggunakan pd.DataFrame.from_dict, kita boleh mencipta DataFrame dengan struktur indeks yang betul:
user_dict = {12: {'Category 1': {'att_1': 1, 'att_2': 'whatever'}, 'Category 2': {'att_1': 23, 'att_2': 'another'}}, 15: {'Category 1': {'att_1': 10, 'att_2': 'foo'}, 'Category 2': {'att_1': 30, 'att_2': 'bar'}}} pd.DataFrame.from_dict({(i,j): user_dict[i][j] for i in user_dict.keys() for j in user_dict[i].keys()}, orient='index') att_1 att_2 12 Category 1 1 whatever Category 2 23 another 15 Category 1 10 foo Category 2 30 bar
Pendekatan alternatif melibatkan penggabungan DataFrame individu yang dibuat daripada setiap entri kamus:
user_ids = [] frames = [] for user_id, d in user_dict.iteritems(): user_ids.append(user_id) frames.append(pd.DataFrame.from_dict(d, orient='index')) pd.concat(frames, keys=user_ids) att_1 att_2 12 Category 1 1 whatever Category 2 23 another 15 Category 1 10 foo Category 2 30 bar
Kedua-duanya kaedah secara berkesan membina DataFrame dengan indeks hierarki menggunakan nilai dari kamus bersarang ketiga tahap.
Atas ialah kandungan terperinci Bagaimana untuk Mencipta DataFrame Pandas dengan Pengindeksan Hierarki daripada Kamus Bersarang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!