Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Memohon Elemen-Bijak Fungsi pada Lajur DataFrame Berbilang Panda?

Bagaimanakah Saya Boleh Memohon Elemen-Bijak Fungsi pada Lajur DataFrame Berbilang Panda?

Barbara Streisand
Barbara Streisandasal
2024-12-04 01:15:10376semak imbas

How Can I Apply a Function Element-Wise to Multiple Pandas DataFrame Columns?

Panda: Menggunakan Fungsi pada Berbilang Lajur

Masalah:

Memandangkan fungsi dan Pandas DataFrame dengan berbilang lajur, bagaimana kita boleh menggunakan elemen fungsi secara bijak kepada setiap pasangan nilai yang sepadan dalam lajur?

Penyelesaian:

Terdapat cara yang cekap untuk mencapai ini menggunakan fungsi lambda Pandas dan menggunakan kaedah:

def get_sublist(sta, end):
    return mylist[sta:end+1]

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

Ini terpakai fungsi get_sublist kepada setiap baris DataFrame, menggunakan nilai dalam lajur 'col_1' dan 'col_2' sebagai input. Hasilnya ialah lajur baharu, 'col_3', mengandungi subsenarai yang dikira.

Penggunaan:

Pertimbangkan contoh berikut:

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

# Apply the function and create a new column
df['col_3'] = df.apply(lambda x: get_sublist(x.col_1, x.col_2), axis=1)

print(df)

Output:

  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']

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memohon Elemen-Bijak Fungsi pada Lajur DataFrame Berbilang 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