Cara membuat kolom baru berdasarkan kondisi di pandas
Seringkali Anda mungkin ingin membuat kolom baru di pandas DataFrame berdasarkan kondisi tertentu.
Tutorial ini memberikan beberapa contoh cara melakukannya menggunakan DataFrame berikut:
import pandas as pd import numpy as np #createDataFrame df = pd. DataFrame ({'rating': [90, 85, 82, 88, 94, 90, 76, 75, 87, 86], 'points': [25, 20, 14, 16, 27, 20, 12, 15, 14, 19], 'assists': [5, 7, 7, 8, 5, 7, 6, 9, 9, 5], 'rebounds': [11, 8, 10, 6, 6, 9, 6, 10, 10, 7]}) #view DataFrame df rating points assists rebounds 0 90 25 5 11 1 85 20 7 8 2 82 14 7 10 3 88 16 8 6 4 94 27 5 6 5 90 20 7 9 6 76 12 6 6 7 75 15 9 10 8 87 14 9 10 9 86 19 5 7
Contoh 1: Buat kolom baru dengan nilai biner
Kode berikut menunjukkan cara membuat kolom baru bernama “Baik” dengan nilai “ya” jika poin pada baris tertentu lebih besar dari 20 dan “tidak” jika sebaliknya:
#create new column titled 'Good' df['Good'] = np. where (df['points']>20, ' yes ', ' no ') #view DataFrame df rating points assists rebounds Good 0 90 25 5 11 yes 1 85 20 7 8 no 2 82 14 7 10 no 3 88 16 8 6 no 4 94 27 5 6 yes 5 90 20 7 9 no 6 76 12 6 6 no 7 75 15 9 10 no 8 87 14 9 10 no 9 86 19 5 7 no
Contoh 2: Buat kolom baru dengan banyak nilai
Kode berikut menunjukkan cara membuat kolom baru bernama “Bagus” yang nilainya:
- “Ya” jika poin ≥ 25
- “Mungkin” jika 15 ≤ poin < 25
- “Tidak” jika poin <15
#define function for classifying players based on points def f(row): if row['points'] < 15: val = 'no' elif row['points'] < 25: val = 'maybe' else : val = 'yes' return val #create new column 'Good' using the function above df['Good'] = df. apply (f, axis=1) #view DataFrame df rating points assists rebounds Good 0 90 25 5 11 yes 1 85 20 7 8 maybe 2 82 14 7 10 no 3 88 16 8 6 maybe 4 94 27 5 6 yes 5 90 20 7 9 maybe 6 76 12 6 6 no 7 75 15 9 10 maybe 8 87 14 9 10 no 9 86 19 5 7 maybe
Contoh 3: Buat kolom baru berdasarkan perbandingan dengan kolom yang sudah ada
Kode berikut menunjukkan cara membuat kolom baru bernama “assist_more” yang nilainya:
- “Ya” jika assist > rebound.
- ‘Tidak’ sebaliknya.
#create new column titled 'assist_more' df['assist_more'] = np. where (df['assists']>df['rebounds'], ' yes ', ' no ') #view DataFrame df rating points assists rebounds assist_more 0 90 25 5 11 no 1 85 20 7 8 no 2 82 14 7 10 no 3 88 16 8 6 yes 4 94 27 5 6 no 5 90 20 7 9 no 6 76 12 6 6 no 7 75 15 9 10 no 8 87 14 9 10 no 9 86 19 5 7 no
Anda dapat menemukan lebih banyak tutorial Python di sini .