Pandas: cara menerapkan fungsi ke setiap baris di dataframe
Anda dapat menggunakan sintaks dasar berikut untuk menerapkan fungsi ke setiap baris pandas DataFrame:
df[' new_col '] = df. apply ( lambda x: some function, axis= 1 )
Sintaks ini menerapkan fungsi ke setiap baris pandas DataFrame dan mengembalikan hasilnya di kolom baru.
Contoh berikut menunjukkan cara menggunakan sintaksis ini dalam praktiknya.
Contoh: Terapkan fungsi ke setiap baris di DataFrame
Misalkan kita memiliki panda DataFrame berikut:
import pandas as pd #createDataFrame df = pd. DataFrame ({' A ': [5, 4, 7, 9, 12, 9, 9, 4], ' B ': [10, 8, 10, 6, 6, 5, 9, 12]}) #view DataFrame print (df) AB 0 5 10 1 4 8 2 7 10 3 9 6 4 12 6 5 9 5 6 9 9 7 4 12
Sekarang misalkan kita ingin menerapkan fungsi yang mengalikan nilai pada kolom A dan kolom B lalu membaginya dengan 2.
Kita dapat menggunakan sintaks berikut untuk menerapkan fungsi ini ke setiap baris DataFrame:
#create new column by applying function to each row in DataFrame
df[' z '] = df. apply ( lambda x: x[' A '] * x[' B '] / 2, axis= 1 )
#view updated DataFrame
print (df)
AB z
0 5 10 25.0
1 4 8 16.0
2 7 10 35.0
3 9 6 27.0
4 12 6 36.0
5 9 5 22.5
6 9 9 40.5
7 4 12 24.0
Kolom z menampilkan hasil fungsi.
Misalnya:
- Baris pertama: A*B/2 = 5*10/2 = 25
- Baris kedua: A*B/2 = 4*8/2 = 16
- Baris ketiga: A*B/2 = 7*10/2 = 35
Dan seterusnya.
Anda dapat menggunakan sintaks serupa dengan lambda untuk menerapkan fungsi apa pun yang Anda inginkan ke setiap baris DataFrame pandas.
Sumber daya tambahan
Tutorial berikut menjelaskan cara melakukan operasi umum lainnya di panda:
Cara menerapkan fungsi ke Pandas Groupby
Cara melakukan penjumlahan GroupBy di Pandas
Cara menggunakan Groupby dan Plot di Pandas