Cara membuat variabel kategorikal di pandas (dengan contoh)


Anda dapat menggunakan salah satu metode berikut untuk membuat variabel kategori di pandas:

Metode 1: Buat Variabel Kategorikal dari Awal

 df[' cat_variable '] = [' A ', ' B ', ' C ', ' D ']

Metode 2: Membuat Variabel Kategorikal dari Variabel Numerik yang Ada

 df[' cat_variable '] = pd. cut (df[' numeric_variable '],
                            bins=[ 0,15,25 ,float(' Inf ') ] ,
                            labels=[' Bad ', ' OK ', ' Good '])

Contoh berikut menunjukkan cara menggunakan masing-masing metode dalam praktik.

Contoh 1: Buat Variabel Kategorikal dari Awal

Kode berikut menunjukkan cara membuat pandas DataFrame dengan variabel kategori yang disebut team dan variabel numerik yang disebut points :

 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

Dengan menggunakan df.dtypes kita bisa melihat tipe data setiap variabel di DataFrame.

Kita bisa melihat:

  • Variabel tim adalah sebuah objek .
  • Variabel poin adalah bilangan bulat .

Dalam Python, sebuah objek setara dengan karakter atau variabel “kategoris”. Dengan demikian, variabel tim merupakan variabel kategorikal.

Contoh 2: Buat variabel kategorikal dari variabel numerik yang ada

Kode berikut menunjukkan cara membuat variabel kategorikal yang disebut status dari variabel numerik yang ada yang disebut poin di DataFrame:

 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

Dengan menggunakan fungsi cut() , kita membuat variabel kategori baru bernama status yang mengambil nilai berikut:

  • Buruk ‘ jika nilai pada kolom poin kurang dari atau sama dengan 15.
  • Sebaliknya, ‘ OK ‘ jika nilai pada kolom poin kurang dari atau sama dengan 25.
  • Jika tidak, “ Bagus ”.

Perhatikan bahwa saat menggunakan fungsi cut() , jumlah label harus kurang satu dari jumlah bins .

Dalam contoh kita, kita menggunakan empat nilai kotak untuk menentukan tepi kotak dan tiga nilai label untuk menentukan label yang akan digunakan untuk variabel kategori.

Sumber daya tambahan

Tutorial berikut menjelaskan cara melakukan tugas panda umum lainnya:

Cara membuat variabel dummy di Pandas
Cara mengonversi variabel kategorikal menjadi numerik di Pandas
Cara mengubah nilai boolean menjadi nilai integer di Pandas

Tambahkan komentar

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