Pandas: cara menggunakan apply & lambda secara bersamaan


Anda dapat menggunakan sintaks dasar berikut untuk menerapkan fungsi lambda ke pandas DataFrame:

 df[' col '] = df[' col ']. apply ( lambda x: ' value1 ' if x < 20 else ' value2 ')

Contoh berikut menunjukkan cara menggunakan sintaksis ini dalam praktiknya dengan pandas DataFrame berikut:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'],
                   ' points ': [18, 22, 19, 14, 14, 11, 20, 28],
                   ' assists ': [5, 7, 7, 9, 12, 9, 9, 4]})

#view DataFrame
print (df)

  team points assists
0 to 18 5
1 B 22 7
2 C 19 7
3 D 14 9
4 E 14 12
5 F 11 9
6 G 20 9
7:28 a.m. 4

Contoh 1: Gunakan Terapkan dan Lambda untuk membuat kolom baru

Kode berikut menunjukkan cara menggunakan apply dan lambda untuk membuat kolom baru yang nilainya bergantung pada nilai kolom yang ada:

 #create new column called 'status'
df[' status '] = df[' points ']. apply ( lambda x: ' Bad ' if x < 20 else ' Good ')

#view updated DataFrame
print (df)

  team points assists status
0 A 18 5 Bad
1 B 22 7 Good
2 C 19 7 Bad
3 D 14 9 Bad
4 E 14 12 Bad
5 F 11 9 Bad
6 G 20 9 Good
7:28 4 Good

Dalam contoh ini, kami membuat kolom baru bernama status yang mengambil nilai berikut:

  • Buruk ‘ jika nilai pada kolom poin kurang dari 20.
  • Baik ‘ jika nilai pada kolom poin lebih besar atau sama dengan 20.

Contoh 2: Gunakan Terapkan dan Lambda untuk mengubah kolom yang ada

Kode berikut menunjukkan cara menggunakan apply dan lambda untuk mengubah kolom yang ada di DataFrame:

 #modify existing 'points' column
df[' points '] = df[' points ']. apply ( lambda x: x/2 if x < 20 else x*2)

#view updated DataFrame
print (df)

  team points assists
0 to 9.0 5
1 B 44.0 7
2 C 9.5 7
3D 7.0 9
4 E 7.0 12
5 F 5.5 9
6 G 40.0 9
7 A.M. 56.0 4

Dalam contoh ini, kita mengubah nilai kolom titik yang ada menggunakan aturan berikut dalam fungsi lambda:

  • Jika nilainya kurang dari 20, bagi nilainya dengan 2.
  • Jika nilainya lebih besar atau sama dengan 20, kalikan nilainya dengan 2.

Dengan menggunakan fungsi lambda ini, kami dapat mengubah nilai kolom titik yang ada.

Sumber daya tambahan

Tutorial berikut menjelaskan cara menjalankan fungsi umum lainnya di panda:

Cara menerapkan fungsi ke Pandas Groupby
Cara mengisi NaN dengan nilai dari kolom lain di Pandas

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *