Menggunakan Fungsi pada Berbilang Lajur dalam Pandas DataFrame
Pertimbangkan situasi berikut di mana anda mempunyai DataFrame yang mengandungi berbilang lajur dan fungsi tersuai anda mahu gunakan pada lajur tersebut mengikut elemen untuk mencipta yang baharu lajur.
Masalah:
Andaikan anda mempunyai DataFrame dengan tiga lajur:
df = pd.DataFrame({'ID':['1','2','3'], 'col_1': [0,2,3], 'col_2':[1,4,5]})
Dan fungsi:
def get_sublist(sta, end): return mylist[sta:end+1]
Matlamat anda adalah untuk menggunakan get_sublist pada lajur 'col_1' dan 'col_2' df ke dapatkan lajur baharu 'col_3' yang mengandungi subsenarai 'mylist' yang sepadan.
Penyelesaian:
Untuk mencapai ini, anda boleh menggunakan operasi Panda berikut:
df['col_3'] = df.apply(lambda x: get_sublist(x.col_1, x.col_2), axis=1)
Berikut ialah pecahan kod:
Menggunakan kaedah ini, DataFrame yang terhasil akan mempunyai struktur berikut:
ID col_1 col_2 col_3 0 1 0 1 ['a', 'b'] 1 2 2 4 ['c', 'd', 'e'] 2 3 3 5 ['d', 'e', 'f']
Perhatikan bahawa penyelesaian ini membenarkan anda menghantar sebarang fungsi tersuai kepada kaedah apply() dan gunakannya pada berbilang lajur secara serentak. Dengan mengakses nilai lajur melalui x.col_name, anda boleh menggunakan nama lajur dengan selamat walaupun ia mengandungi ruang atau mempunyai nama yang sama seperti atribut DataFrame sedia ada.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggunakan Fungsi Tersuai pada Lajur DataFrame Berbilang Panda untuk Mencipta Lajur Baharu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!