Pandalarda kategorik değişkenler nasıl oluşturulur (örneklerle)
Pandalarda kategorik bir değişken oluşturmak için aşağıdaki yöntemlerden herhangi birini kullanabilirsiniz:
Yöntem 1: Sıfırdan Kategorik Değişken Oluşturma
df[' cat_variable '] = [' A ', ' B ', ' C ', ' D ']
Yöntem 2: Mevcut Sayısal Değişkenden Kategorik Değişken Oluşturma
df[' cat_variable '] = pd. cut (df[' numeric_variable '], bins=[ 0,15,25 ,float(' Inf ') ] , labels=[' Bad ', ' OK ', ' Good '])
Aşağıdaki örnekler her yöntemin pratikte nasıl kullanılacağını göstermektedir.
Örnek 1: Sıfırdan Kategorik Değişken Oluşturma
Aşağıdaki kod, takım adı verilen kategorik bir değişken ve puan adı verilen sayısal bir değişkenle bir pandas DataFrame’in nasıl oluşturulacağını gösterir:
import pandas as pd
#create DataFrame with one categorical variable and one numeric variable
df = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'],
' points ': [12, 15, 19, 22, 24, 25, 26, 30]})
#view DataFrame
print (df)
team points
0 to 12
1 B 15
2 C 19
3 D 22
4 E 24
5 F 25
6 G 26
7:30 a.m.
#view data type of each column in DataFrame
print ( df.dtypes )
team object
int64 dots
dtype:object
Df.dtypes’i kullanarak DataFrame’deki her değişkenin veri türünü görebiliriz.
Görebiliriz:
- Takım değişkeni bir nesnedir .
- Puan değişkeni bir tamsayıdır .
Python’da bir nesne bir karaktere veya “kategorik” bir değişkene eşdeğerdir. Dolayısıyla takım değişkeni kategorik bir değişkendir.
Örnek 2: Mevcut bir sayısal değişkenden kategorik bir değişken oluşturun
Aşağıdaki kod, DataFrame’de noktalar adı verilen mevcut sayısal değişkenden durum adı verilen kategorik bir değişkenin nasıl oluşturulacağını gösterir:
import pandas as pd
#create DataFrame with one categorical variable and one numeric variable
df = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'],
' points ': [12, 15, 19, 22, 24, 25, 26, 30]})
#create categorical variable 'status' based on existing numerical 'points' variable
df[' status '] = pd. cut (df[' points '],
bins=[ 0,15,25 ,float(' Inf ') ] ,
labels=[' Bad ', ' OK ', ' Good '])
#view updated DataFrame
print (df)
team points status
0 To 12 Bad
1 B 15 Bad
2 C 19 OK
3 D 22 OK
4 E 24 OK
5 F 25 OK
6 G 26 Good
7:30 a.m. Good
Cut() fonksiyonunu kullanarak, aşağıdaki değerleri alan status adında yeni bir kategorik değişken oluşturduk:
- Puan sütunundaki değer 15’ten küçük veya ona eşitse ‘ Kötü ‘.
- Aksi takdirde, puan sütunundaki değer 25’ten küçük veya ona eşitse ‘ Tamam ‘.
- Aksi takdirde “ İyi ”.
Cut() işlevini kullanırken etiket sayısının bin sayısından bir eksik olması gerektiğini unutmayın .
Örneğimizde, kutuların kenarlarını tanımlamak için kutular için dört değer, kategorik değişken için kullanılacak etiketleri belirtmek için de etiketler için üç değer kullandık.
Ek kaynaklar
Aşağıdaki eğitimlerde diğer yaygın panda görevlerinin nasıl gerçekleştirileceği açıklanmaktadır:
Pandalarda kukla değişkenler nasıl oluşturulur?
Pandas’ta kategorik bir değişken sayısala nasıl dönüştürülür?
Pandalar’da boole değerleri tam sayı değerlerine nasıl dönüştürülür?