Pertimbangkan DataFrame df dan kamus d. Anda bertujuan untuk membentuk semula df menjadi jadual dengan lajur tambahan, iaitu Kumpulan dan Nama. Output yang diingini sepatutnya menyerupai:
Group Name Year Value 0 A Amy 2013 2 1 A Amy 2014 9 2 B Bob 2013 4 3 B Bob 2014 2 4 B Ben 2013 1 5 B Ben 2014 5 6 C Carl 2013 7 7 C Carl 2014 4 8 C Chris 2013 8 9 C Chris 2014 5 10 Other 2013 3 11 Other 2014 6
Untuk mencapai bentuk semula ini, kami akan menggunakan fungsi lelehan Pandas.
m = pd.melt(df, id_vars=['Year'], var_name='Name')
Ini akan mencipta DataFrame cair m dengan lajur Tahun, Nama dan nilai. Untuk menambah lajur Kumpulan, kami membentuk semula d seperti berikut:
d2 = {} for k, v in d.items(): for item in v: d2[item] = k
Kami kemudian memetakan d2 kepada m['Nama'] untuk mengisi lajur Kumpulan.
m['Group'] = m['Name'].map(d2)
Akhir sekali, kami alihkan nilai 'Lain' dari Nama ke Kumpulan:
mask = m['Name'] == 'Other' m.loc[mask, 'Name'] = '' m.loc[mask, 'Group'] = 'Other'
DataFrame m yang terhasil akan sepadan dengan yang dikehendaki keluaran.
Atas ialah kandungan terperinci Bagaimanakah Fungsi Pandas\' `melt` Membentuk Semula DataFrame dengan Lajur Kumpulan dan Nama Tambahan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!