Cara menulis pernyataan kasus di pandas (dengan contoh)
Pernyataan kasus adalah jenis pernyataan yang menelusuri kondisi dan mengembalikan nilai ketika kondisi pertama terpenuhi.
Cara paling sederhana untuk mengimplementasikan pernyataan kasus di Pandas DataFrame adalah dengan menggunakan fungsi NumPywhere() , yang menggunakan sintaks dasar berikut:
df[' new_column '] = np. where (df[' col2 ']<9, 'value1', n.p. where (df[' col2 ']<12, 'value2', n.p. where (df[' col2 ']<15, 'value3', 'value4')))
Fungsi khusus ini melihat nilai di kolom bernama col2 dan mengembalikan:
- “ nilai1 ” jika nilai pada kolom2 kurang dari 9
- “ nilai2 ” jika nilai pada kolom2 kurang dari 12
- “ nilai3 ” jika nilai pada kolom2 kurang dari 15
- “ nilai4 ” jika tidak ada kondisi sebelumnya yang benar
Contoh berikut menunjukkan cara menggunakan fungsi ini dalam praktiknya.
Contoh: pernyataan kasus di Pandas
Misalkan kita memiliki panda DataFrame berikut:
import pandas as pd import numpy as np #createDataFrame df = pd. DataFrame ({' player ': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], ' points ': [6, 8, 9, 9, 12, 14, 15, 17, 19, 22]}) #view DataFrame df player points 0 1 6 1 2 8 2 3 9 3 4 9 4 5 12 5 6 14 6 7 15 7 8 17 8 9 19 9 10 22
Kita dapat menggunakan sintaks berikut untuk menulis pernyataan kasus yang membuat kolom baru bernama kelas yang nilainya ditentukan oleh nilai pada kolom poin :
#add 'class' column using case-statement logic df[' class '] = np. where (df[' points ']<9, 'Bad', n.p. where (df[' points ']<12, 'OK', n.p. where (df[' points ']<15, 'Good', 'Great'))) #view updated DataFrame df player points class 0 1 6 Bad 1 2 8 Bad 2 3 9 OK 3 4 9 OK 4 5 12 Good 5 6 14 Good 6 7 15 Great 7 8 17 Great 8 9 19 Great 9 10 22 Great
Pernyataan kasus melihat nilai di kolom poin dan mengembalikan:
- “ Buruk ” jika nilai pada kolom poin kurang dari 9
- “ OK ” jika nilai pada kolom poin kurang dari 12
- “ Baik ” jika nilai pada kolom poin kurang dari 15
- “ Hebat ” jika tidak ada kondisi sebelumnya yang benar
Catatan : Anda dapat menemukan dokumentasi lengkap untuk fungsi NumPywhere() di sini .
Sumber daya tambahan
Tutorial berikut menjelaskan cara melakukan tugas umum lainnya di Pandas:
Cara membuat kolom baru berdasarkan kondisi di Pandas
Cara menggunakan fungsi NumPy Where() dengan berbagai kondisi