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!