Pandalar: koşula dayalı bir boole sütunu nasıl oluşturulur


Bir pandas DataFrame’de koşula dayalı bir Boole sütunu oluşturmak için aşağıdaki temel sözdizimini kullanabilirsiniz:

 df[' boolean_column '] = np. where (df[' some_column '] > 15, True , False )

Bu özel sözdizimi, iki olası değere sahip yeni bir Boolean sütunu oluşturur:

  • Some_column’daki değer 15’ten büyükse doğrudur .
  • Bazı_sütunlardaki değer 15’ten küçük veya ona eşitse false .

Aşağıdaki örnek, bu sözdiziminin pratikte nasıl kullanılacağını gösterir.

Örnek: Pandalarda Koşula Göre Boole Sütunu Oluşturma

Çeşitli basketbol oyuncuları hakkında bilgi içeren aşağıdaki pandalar DataFrame’e sahip olduğumuzu varsayalım:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
                   ' points ': [5, 17, 7, 19, 12, 13, 9, 24]})

#view DataFrame
print (df)

  team points
0 to 5
1 to 17
2 to 7
3 to 19
4 B 12
5 B 13
6 B 9
7 B 24   

Puan sütunundaki değer 15’ten büyükse True , aksi takdirde False değerini döndüren good_player adında yeni bir sütun oluşturmak için aşağıdaki kodu kullanabiliriz:

 import numpy as np

#create new boolean column based on value in points column
df[' good_player '] = np. where (df[' points '] > 15, True , False )

#view updated DataFrame
print (df)

  team points good_player
0 To 5 False
1 To 17 True
2 To 7 False
3 To 19 True
4 B 12 False
5 B 13 False
6 B 9 False
7 B 24 True

good_player adlı yeni sütunun yalnızca iki değer içerdiğini unutmayın: True veya False .

Yeni good_player sütununun gerçekten bir Boolean sütunu olduğunu doğrulamak için dtypes() işlevini kullanabiliriz:

 #display data type of good_player column
df[' good_player ']. dtype

dtype('bool')

Yeni good_player sütunu aslında bir Boolean sütunudur.

Ayrıca isterseniz Doğru ve Yanlış yerine 1 ve 0 gibi sayısal değerleri de döndürebileceğinizi unutmayın:

 import numpy as np

#create new boolean column based on value in points column
df[' good_player '] = np. where (df[' points '] > 15, 1 , 0 )

#view updated DataFrame
print (df)

  team points good_player
0 to 5 0
1 To 17 1
2 to 7 0
3 A 19 1
4 B 12 0
5 B 13 0
6 B 9 0
7 B 24 1

Puan sütunundaki karşılık gelen değer 15’ten büyükse good_player sütunu artık 1 değerini içerir.

Aksi takdirde 0 değerini içerir.

Ek kaynaklar

Aşağıdaki eğitimlerde pandalarda diğer yaygın işlemlerin nasıl gerçekleştirileceği açıklanmaktadır:

Pandalar’da birden çok koşula göre satırlar nasıl seçilir
Pandalar’da bir koşula dayalı yeni bir sütun nasıl oluşturulur?
Pandas DataFrame’i birden çok koşulda filtreleme

Yorum ekle

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