Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Mencipta Pandas DataFrame dengan Indeks Hierarki daripada Kamus Bersarang?
Membina DataFrame panda daripada Kamus Bersarang dengan Indeks Hierarki
Artikel ini menangani keperluan untuk menukar kamus bersarang menjadi DataFrame panda dengan indeks hierarki. Kamus, berstruktur dengan UserIds sebagai tahap pertama, Kategori sebagai tahap kedua dan pelbagai atribut sebagai tahap ketiga, menimbulkan cabaran dalam mencipta struktur DataFrame yang diingini.
Untuk membina DataFrame dengan indeks hierarki yang dimaksudkan. , penyelesaian pertama melibatkan pembentukan semula kamus bersarang. Setiap kunci dalam kamus hendaklah berupa tuple yang sepadan dengan nilai indeks berbilang. Menggunakan pd.DataFrame.from_dict dan menetapkan orient='index', DataFrame boleh dibuat:
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')
Pendekatan alternatif melibatkan membina DataFrame dengan menggabungkan bingkai data komponen. Kaedah ini menambahkan DataFrame untuk setiap UserId seperti berikut:
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)
Dengan melaksanakan salah satu kaedah ini, DataFrame panda dengan indeks hierarki boleh dibina daripada kamus bersarang, memudahkan organisasi dan analisis data .
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencipta Pandas DataFrame dengan Indeks Hierarki daripada Kamus Bersarang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!