Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Memohon Fungsi pada Berbilang Lajur Bingkai Data Panda dan Buat Lajur Baharu?

Bagaimana untuk Memohon Fungsi pada Berbilang Lajur Bingkai Data Panda dan Buat Lajur Baharu?

DDD
Lepaskan: 2024-12-07 17:12:13
asal
901 orang telah melayarinya

How to Apply a Function to Multiple Pandas Dataframe Columns and Create a New Column?

Menggunakan Fungsi pada Berbilang Lajur Bingkai Data Pandas

Situasinya adalah seperti berikut: fungsi dan bingkai data ditakrifkan, dan matlamatnya adalah untuk menggunakan fungsi pada dua lajur khusus kerangka data untuk menjana lajur baharu. Walau bagaimanapun, percubaan untuk menggunakan kaedah guna dengan fungsi menghasilkan ralat.

Untuk menangani isu ini, terdapat berbilang pendekatan:

Ungkapan Lambda dengan Nama Lajur

Penyelesaian ringkas dan boleh dibaca ialah menggunakan ungkapan lambda dalam permohonan kaedah:

df['col_3'] = df.apply(lambda x: get_sublist(x.col_1, x.col_2), axis=1)
Salin selepas log masuk

Pendekatan ini secara langsung menggunakan nama lajur dan bukannya indeks berangka, menjadikannya kurang terdedah kepada ralat.

Contoh dengan Contoh Data

Pertimbangkan contoh data:

df = pd.DataFrame({'ID':['1', '2', '3'], 'col_1': [0, 2, 3], 'col_2':[1, 4, 5]})
mylist = ['a', 'b', 'c', 'd', 'e', 'f']
Salin selepas log masuk

Menjalankan kod sebelumnya akan menghasilkan kod baharu lajur, col_3, mengandungi hasil yang diingini:

  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]
Salin selepas log masuk

Kurungan Segiempat untuk Nama Lajur Bukan Standard

Jika nama lajur mengandungi ruang atau sepadan dengan atribut bingkai data sedia ada, kurungan empat segi boleh digunakan:

df['col_3'] = df.apply(lambda x: f(x['col 1'], x['col 2']), axis=1)
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Memohon Fungsi pada Berbilang Lajur Bingkai Data Panda dan Buat Lajur Baharu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan