Pandalar'da bir koşula dayalı yeni bir sütun nasıl oluşturulur?


Genellikle belirli koşullara bağlı olarak pandas DataFrame’de yeni bir sütun oluşturmak isteyebilirsiniz.

Bu eğitimde, aşağıdaki DataFrame kullanılarak bunun nasıl yapılacağına ilişkin birkaç örnek sunulmaktadır:

 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

Örnek 1: İkili değerlere sahip yeni bir sütun oluşturma

Aşağıdaki kod, belirli bir satırdaki noktalar 20’den büyükse değerin “evet”, aksi halde “hayır” olduğu “İyi” adlı yeni bir sütunun nasıl oluşturulacağını gösterir:

 #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

Örnek 2: Birden çok değere sahip yeni bir sütun oluşturma

Aşağıdaki kod, değerin olduğu “İyi” adlı yeni bir sütunun nasıl oluşturulacağını gösterir:

  • Puanlar ≥ 25 ise “Evet”
  • 15 ≤ puan < 25 ise “Belki”
  • Puan < 15 ise “Hayır”
 #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

Örnek 3: Mevcut bir sütunla karşılaştırmaya dayalı yeni bir sütun oluşturma

Aşağıdaki kod, değerin olduğu “assist_more” adında yeni bir sütunun nasıl oluşturulacağını gösterir:

  • Asist > ribaund ise “Evet”.
  • Aksi takdirde ‘Hayır’.
 #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

Daha fazla Python eğitimini burada bulabilirsiniz.

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir