Pandas: rumus untuk “jika nilai di kolom maka”
Anda dapat menggunakan sintaks berikut di panda untuk menetapkan nilai ke kolom berdasarkan nilai kolom lain:
df[' new '] = df[' col ']. map ( lambda x: ' new1 ' if ' A ' in x else ' new2 ' if ' B ' in x else '')
Sintaks khusus ini akan membuat kolom baru bernama “baru” yang akan mengambil nilai berikut:
- new1 jika nilai di col sama dengan A.
- new2 jika nilai di col sama dengan B.
- String kosong jika nilai dalam col sama dengan nilai lainnya.
Contoh berikut menunjukkan cara menggunakan sintaksis ini dalam praktiknya.
Contoh: Menggunakan Rumus “Jika Nilai di Kolom Maka” di Pandas
Misalkan kita memiliki pandas DataFrame berikut yang berisi informasi tentang berbagai pemain bola basket:
import pandas as pd #createDataFrame df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'C', 'C'], ' points ': [14, 22, 25, 34, 30, 12, 10, 18]}) #view DataFrame print (df) team points 0 to 14 1 to 22 2 to 25 3 to 34 4 B 30 5 B 12 6 C 10 7 C 18
Sekarang misalkan kita ingin membuat kolom baru bernama city yang nilainya bergantung pada nilai terkait di kolom tim .
Kita dapat menggunakan sintaks berikut untuk melakukan ini:
#create new column called city whose values depend on values in team column
df[' city '] = df[' team ']. map ( lambda x: ' Atlanta ' if ' A ' in x else ' Boston ' if ' B ' in x else '')
#view updated DataFrame
print (df)
team points city
0 A 14 Atlanta
1 to 22 Atlanta
2 to 25 Atlanta
3 to 34 Atlanta
4 B 30 Boston
5 B 12 Boston
6 C 10
7 C 18
Sintaks khusus ini membuat kolom baru bernama city yang mengambil nilai berikut:
- Atlanta jika nilai tim sama dengan A.
- Boston jika nilai tim sama dengan B.
- String kosong jika nilai dalam tim sama dengan nilai lainnya.
Perhatikan bahwa dalam contoh ini kami menggunakan string kosong setelah pernyataan else terakhir untuk membiarkan nilai yang tidak memenuhi kondisi apa pun tetap kosong.
Sumber daya tambahan
Tutorial berikut menjelaskan cara melakukan operasi umum lainnya di panda:
Pandas: dapatkan indeks baris yang kolomnya cocok dengan nilainya
Pandas: cara memilih kolom yang berisi string tertentu
Pandas: cara memeriksa apakah kolom berisi string