Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Mencipta Berbilang Lajur Baharu daripada Output Fungsi Tunggal dalam Panda?

Bagaimana untuk Mencipta Berbilang Lajur Baharu daripada Output Fungsi Tunggal dalam Panda?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-28 15:09:02400semak imbas

How to Create Multiple New Columns from a Single Function Output in Pandas?

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn