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 .

Tambahkan komentar

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