Menggunakan Fungsi pada Berbilang Lajur Bingkai Data Pandas
Andaikan kami mempunyai set data dalam kerangka data Pandas dengan berbilang lajur dan kami mahu gunakan fungsi tersuai pada dua daripada lajur tersebut. Ini boleh menjadi tugas biasa dalam manipulasi dan analisis data. Berikut ialah panduan langkah demi langkah untuk mencapai matlamat ini:
1. Takrifkan Fungsi:
Tentukan fungsi tersuai yang mengambil dua input, mewakili nilai daripada dua lajur. Fungsi ini harus melaksanakan operasi yang diingini pada input ini.
2. Gunakan Fungsi Menggunakan Lambda:
Panda menyediakan fungsi lambda yang membolehkan kami menggunakan fungsi pada setiap baris bingkai data. Kami boleh memanfaatkan ini untuk menggunakan fungsi tersuai kami pada lajur yang dipilih.
Sintaks untuk menggunakan fungsi pada berbilang lajur menggunakan lambda ialah:
df['new_column_name'] = df.apply(lambda x: your_function(x.column_1, x.column_2), axis=1)
Di mana:
3. Contoh:
Pertimbangkan contoh kerangka data berikut:
df = pd.DataFrame({'ID':['1','2','3'], 'col_1': [0,2,3], 'col_2':[1,4,5]})
Andaikan kita ingin mencipta lajur baharu dipanggil 'col_3' yang mengandungi subsenarai senarai asal mylist berdasarkan nilai dalam col_1 dan col_2. Kita boleh mentakrifkan fungsi get_sublist seperti berikut:
def get_sublist(sta, end): return ['a', 'b', 'c', 'd', 'e', 'f'][sta:end+1]
Sekarang, kita boleh menggunakan fungsi ini menggunakan lambda sebagai:
df['col_3'] = df.apply(lambda x: get_sublist(x.col_1, x.col_2), axis=1)
Ini mencipta lajur baharu 'col_3' dalam rangka data dengan subsenarai yang dikehendaki.
4. Alternatif:
Menggunakan lambda ialah pendekatan ringkas dan serba boleh untuk menggunakan fungsi pada berbilang lajur bingkai data. Walau bagaimanapun, jika anda lebih suka cara yang lebih jelas, anda juga boleh menggunakan kaedah apply() dengan fungsi tersuai yang mengambil Siri sebagai input. Pendekatan ini melibatkan penentuan fungsi yang mengambil satu input yang mewakili baris dan kemudian memanipulasi baris tertentu itu mengikut keperluan.
Atas ialah kandungan terperinci Bagaimana untuk Memohon Fungsi pada Berbilang Lajur dalam Pandas DataFrame?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!