Mencipta Berbilang Lajur Baharu dengan Fungsi Panda
Dalam Panda, anda boleh menggunakan satu fungsi pada lajur dan mencipta berbilang lajur baharu berdasarkan pada nilai output.
Pertimbangkan senario berikut:
Anda mempunyai fungsi, extract_text_features, yang menerima lajur teks dan mengembalikan 6 lajur output. Walaupun fungsi itu sendiri berfungsi, memberikan output kepada lajur tertentu menimbulkan cabaran.
Penyelesaian menggunakan Zip:
Satu pendekatan yang berkesan ialah menggunakan fungsi zip untuk menetapkan nilai output kepada berbilang lajur:
<code class="python">def powers(x): return x, x**2, x**3, x**4, x**5, x**6 df = pd.DataFrame([[i] for i in range(10)], columns=['num']) df['p1'], df['p2'], df['p3'], df['p4'], df['p5'], df['p6'] = zip(*df['num'].map(powers))</code>
Di sini, fungsi map() menggunakan kuasa pada setiap baris lajur 'num' dan zip membongkar keluaran ke dalam lajur individu.
Ini kaedah cekap menjana berbilang lajur baharu berdasarkan nilai output fungsi. Ia juga serasi dengan versi lama Panda, tidak seperti beberapa penyelesaian lain yang bergantung pada ciri lebih baharu seperti df.assign().
Atas ialah kandungan terperinci Bagaimana untuk Mencipta Berbilang Lajur Baharu daripada Output Fungsi Tunggal dalam Panda?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!