Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Fungsi Pandas\' `melt` Membentuk Semula DataFrame dengan Lajur Kumpulan dan Nama Tambahan?
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!