Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Mencipta Pandas DataFrame daripada Kamus Bersarang dengan Indeks Hierarki?
Dalam senario ini, anda ingin mencipta Pandas DataFrame daripada kamus bersarang di mana hierarkinya terdiri daripada :
DataFrame yang dikehendaki harus mempunyai ID Pengguna sebagai indeks dan kategori serta atribut sebagai lajur.
Satu pendekatan cekap menggunakan MultiIndex panda, yang membolehkan penciptaan struktur indeks berbilang peringkat. Untuk menggunakan kaedah ini:
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'}}} df = 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') print(df) att_1 att_2 12 Category 1 1 whatever Category 2 23 another 15 Category 1 10 foo Category 2 30 bar
Sebagai alternatif, anda boleh membina DataFrame secara berperingkat melalui penggabungan:
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')) df = pd.concat(frames, keys=user_ids) print(df) att_1 att_2 12 Category 1 1 whatever Category 2 23 another 15 Category 1 10 foo Category 2 30 bar
Atas ialah kandungan terperinci Bagaimana untuk Mencipta Pandas DataFrame daripada Kamus Bersarang dengan Indeks Hierarki?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!