Mengonversi variabel kategori menjadi dummy python
Dalam tutorial ini, saya akan menunjukkan cara menggunakan fungsi Panda get dummies untuk membuat variabel dummy dengan Python Show
Saya akan menjelaskan apa fungsinya, menjelaskan sintaks pd. get_dummies, dan tunjukkan contoh langkah demi langkah Jika Anda memerlukan sesuatu yang spesifik, cukup klik salah satu tautan berikut Daftar isi Baik. Sebelum kita melihat sintaks dan contohnya, mari kita lihat ikhtisar singkat tentang apa fungsi tersebut Pengantar Cepat tentang Panda Get DummiesFungsi getdummies Pandas membuat variabel dummy dari objek Pandas dengan Python Untuk memahami ini, mari kita tinjau dasar-dasar “pengodean dummy. ” Variabel Dummy Menyandikan Informasi KategorikalJadi apa sebenarnya variabel dummy itu? Variabel dummy adalah variabel numerik yang mengkodekan informasi kategorikal Variabel dummy memiliki dua kemungkinan nilai. 0 atau 1 Dalam variabel dummy
Kami sering menyebut variabel 0/1 ini sebagai variabel "dummy", tetapi terkadang juga disebut variabel indikator. Dalam pembelajaran mesin, ini juga kadang-kadang disebut sebagai pengkodean data kategoris "satu-panas". Pandas Get Dummies Membuat Variabel Dummy dari Data KategorikalSekarang setelah Anda memahami apa itu variabel dummy, mari kita bicara tentang fungsi Pandas get_dummies Seperti yang Anda duga, pd. get_dummies membuat variabel dummy Yang penting, pd. get_dummies dapat membuat variabel tiruan dari Seri Pandas, atau dari kolom atau kolom dalam kerangka data Pandas Kami akan melihat keduanya Variabel dummy penting untuk Machine LearningSebelum kita melihat sintaks pd. get_dummies, saya ingin berkomentar tentang mengapa kita membutuhkan variabel dummy Beberapa alat ilmu data hanya akan berfungsi jika data masukan berupa angka. Ini terutama berlaku untuk pembelajaran mesin. Banyak algoritme pembelajaran mesin – seperti regresi linier dan regresi logistik – sangat membutuhkan data input numerik. Jika Anda mencoba menggunakannya dengan data kategorikal berbasis string, mereka akan menimbulkan kesalahan Jadi sebelum Anda menggunakan alat tersebut, Anda perlu menyandikan data kategori Anda sebagai variabel dummy numerik Sejujurnya, ini adalah salah satu langkah pembersihan data yang sering membuat ilmuwan data dan insinyur pembelajaran mesin frustrasi Tapi kabar baiknya adalah Panda mendapatkan fungsi dummies membuatnya relatif mudah dilakukan Mari kita lihat fungsinya Sintaks Panda Get DummiesDi sini, kita akan melihat sintaks fungsi Pandas sales_data = pd.DataFrame({"name":["William","Emma","Sofia","Markus","Edward","Thomas","Ethan","Olivia","Arun","Anika","Paulo"] ,"sales":[50000,52000,90000,34000,42000,72000,49000,55000,67000,65000,67000] ,"region":["East","North","East","South","West","West","South","West","West","East",np.nan] } )0 Pengingat cepatSebelum kita melihat sintaks, saya ingin mengingatkan Anda bahwa penjelasan sintaks ini mengasumsikan bahwa Anda telah mengimpor Panda Anda dapat mengimpor Panda seperti ini import pandas as pd_ Ini juga mengasumsikan bahwa Anda memiliki Seri Panda atau kerangka data yang dapat Anda gunakan (Kami benar-benar akan membuat kerangka data dan Seri. ) Sintaks pd. get_dummiesSintaks Panda mendapatkan boneka sangat sederhana Anda memanggil fungsi sebagai sales_data = pd.DataFrame({"name":["William","Emma","Sofia","Markus","Edward","Thomas","Ethan","Olivia","Arun","Anika","Paulo"] ,"sales":[50000,52000,90000,34000,42000,72000,49000,55000,67000,65000,67000] ,"region":["East","North","East","South","West","West","South","West","West","East",np.nan] } )1 Di dalam tanda kurung, argumen pertama adalah objek yang ingin Anda operasikan. Ini akan menjadi kerangka data Pandas atau Seri Pandas Ada juga beberapa parameter opsional yang dapat Anda gunakan untuk mengubah cara kerja fungsi Mari kita lihat lebih dekat pada mereka Parameter pd. get_dummiesPanda mendapatkan fungsi dummies
Mari kita lihat itu sales_data = pd.DataFrame({"name":["William","Emma","Sofia","Markus","Edward","Thomas","Ethan","Olivia","Arun","Anika","Paulo"] ,"sales":[50000,52000,90000,34000,42000,72000,49000,55000,67000,65000,67000] ,"region":["East","North","East","South","West","West","South","West","West","East",np.nan] } )_9 (wajib) Parameter “data_object” memungkinkan Anda menentukan objek data yang ingin Anda operasikan Ini bisa berupa kerangka data Pandas, Seri Pandas, atau objek seperti daftar (mis. e. , daftar, dll) Yang penting, Anda menggunakan parameter ini berdasarkan posisi saja. Panda mengasumsikan bahwa argumen pertama yang Anda berikan ke fungsi harus sesuai dengan parameter ini sales_data = pd.DataFrame({"name":["William","Emma","Sofia","Markus","Edward","Thomas","Ethan","Olivia","Arun","Anika","Paulo"] ,"sales":[50000,52000,90000,34000,42000,72000,49000,55000,67000,65000,67000] ,"region":["East","North","East","South","West","West","South","West","West","East",np.nan] } )_3 Parameter sales_data = pd.DataFrame({"name":["William","Emma","Sofia","Markus","Edward","Thomas","Ethan","Olivia","Arun","Anika","Paulo"] ,"sales":[50000,52000,90000,34000,42000,72000,49000,55000,67000,65000,67000] ,"region":["East","North","East","South","West","West","South","West","West","East",np.nan] } )3 menentukan kolom yang ingin Anda ubah menjadi variabel dummy Kolom ini hanya akan berlaku jika Anda mengoperasikan kerangka data yang memiliki banyak kolom sales_data = pd.DataFrame({"name":["William","Emma","Sofia","Markus","Edward","Thomas","Ethan","Olivia","Arun","Anika","Paulo"] ,"sales":[50000,52000,90000,34000,42000,72000,49000,55000,67000,65000,67000] ,"region":["East","North","East","South","West","West","South","West","West","East",np.nan] } )_4 Parameter sales_data = pd.DataFrame({"name":["William","Emma","Sofia","Markus","Edward","Thomas","Ethan","Olivia","Arun","Anika","Paulo"] ,"sales":[50000,52000,90000,34000,42000,72000,49000,55000,67000,65000,67000] ,"region":["East","North","East","South","West","West","South","West","West","East",np.nan] } )4 memungkinkan Anda menentukan awalan untuk nama variabel dummy baru Secara default, awalan adalah nama variabel yang Anda ubah Jadi jika Anda mengoperasikan variabel bernama " print(sales_data)5", variabel dummy baru akan dimulai dengan awalan " print(sales_data)5" Anda akan melihat contohnya di bagian contoh sales_data = pd.DataFrame({"name":["William","Emma","Sofia","Markus","Edward","Thomas","Ethan","Olivia","Arun","Anika","Paulo"] ,"sales":[50000,52000,90000,34000,42000,72000,49000,55000,67000,65000,67000] ,"region":["East","North","East","South","West","West","South","West","West","East",np.nan] } )5 Parameter sales_data = pd.DataFrame({"name":["William","Emma","Sofia","Markus","Edward","Thomas","Ethan","Olivia","Arun","Anika","Paulo"] ,"sales":[50000,52000,90000,34000,42000,72000,49000,55000,67000,65000,67000] ,"region":["East","North","East","South","West","West","South","West","West","East",np.nan] } )5 memungkinkan Anda menentukan pemisah antara awalan dan kategori dummy, atas nama variabel dummy Secara default, pemisahnya adalah “_” Jadi jika Anda menyandikan variabel dummy yang disebut print(sales_data)5, dengan kategori name sales region 0 William 50000 East 1 Emma 52000 North 2 Sofia 90000 East 3 Markus 34000 South 4 Edward 42000 West 5 Thomas 72000 West 6 Ethan 49000 South 7 Olivia 55000 West 8 Arun 67000 West 9 Anika 65000 East 10 Paulo 67000 NaN0 dan name sales region 0 William 50000 East 1 Emma 52000 North 2 Sofia 90000 East 3 Markus 34000 South 4 Edward 42000 West 5 Thomas 72000 West 6 Ethan 49000 South 7 Olivia 55000 West 8 Arun 67000 West 9 Anika 65000 East 10 Paulo 67000 NaN1, maka secara default, variabel dummy keluaran akan diberi nama name sales region 0 William 50000 East 1 Emma 52000 North 2 Sofia 90000 East 3 Markus 34000 South 4 Edward 42000 West 5 Thomas 72000 West 6 Ethan 49000 South 7 Olivia 55000 West 8 Arun 67000 West 9 Anika 65000 East 10 Paulo 67000 NaN2 dan name sales region 0 William 50000 East 1 Emma 52000 North 2 Sofia 90000 East 3 Markus 34000 South 4 Edward 42000 West 5 Thomas 72000 West 6 Ethan 49000 South 7 Olivia 55000 West 8 Arun 67000 West 9 Anika 65000 East 10 Paulo 67000 NaN3. (Perhatikan karakter garis bawah pada nama variabel ini. ) sales_data = pd.DataFrame({"name":["William","Emma","Sofia","Markus","Edward","Thomas","Ethan","Olivia","Arun","Anika","Paulo"] ,"sales":[50000,52000,90000,34000,42000,72000,49000,55000,67000,65000,67000] ,"region":["East","North","East","South","West","West","South","West","West","East",np.nan] } )_6 Parameter sales_data = pd.DataFrame({"name":["William","Emma","Sofia","Markus","Edward","Thomas","Ethan","Olivia","Arun","Anika","Paulo"] ,"sales":[50000,52000,90000,34000,42000,72000,49000,55000,67000,65000,67000] ,"region":["East","North","East","South","West","West","South","West","West","East",np.nan] } )6 menentukan apakah Anda ingin membuang kategori pertama dari variabel kategori yang Anda enkode Secara default, ini disetel ke name sales region 0 William 50000 East 1 Emma 52000 North 2 Sofia 90000 East 3 Markus 34000 South 4 Edward 42000 West 5 Thomas 72000 West 6 Ethan 49000 South 7 Olivia 55000 West 8 Arun 67000 West 9 Anika 65000 East 10 Paulo 67000 NaN6. Ini akan menyebabkan get_dummies membuat satu variabel dummy untuk setiap level dari variabel kategori masukan Jika Anda mengatur name sales region 0 William 50000 East 1 Emma 52000 North 2 Sofia 90000 East 3 Markus 34000 South 4 Edward 42000 West 5 Thomas 72000 West 6 Ethan 49000 South 7 Olivia 55000 West 8 Arun 67000 West 9 Anika 65000 East 10 Paulo 67000 NaN_7, maka itu akan menjatuhkan kategori pertama. Jadi jika memiliki K kategori, hanya akan menghasilkan K – 1 variabel dummy sales_data = pd.DataFrame({"name":["William","Emma","Sofia","Markus","Edward","Thomas","Ethan","Olivia","Arun","Anika","Paulo"] ,"sales":[50000,52000,90000,34000,42000,72000,49000,55000,67000,65000,67000] ,"region":["East","North","East","South","West","West","South","West","West","East",np.nan] } )_7 Parameter sales_data = pd.DataFrame({"name":["William","Emma","Sofia","Markus","Edward","Thomas","Ethan","Olivia","Arun","Anika","Paulo"] ,"sales":[50000,52000,90000,34000,42000,72000,49000,55000,67000,65000,67000] ,"region":["East","North","East","South","West","West","South","West","West","East",np.nan] } )7 memungkinkan Anda menentukan apakah get_dummies akan membuat variabel dummy terpisah yang mengkodekan nilai yang hilang Secara default, parameter ini disetel ke region = sales_data.region0. Dalam hal ini, get_dummies tidak akan membuat variabel dummy untuk nilai NA Jika region = sales_data.region_1, get_dummies akan membuat variabel terpisah yang berisi 1 jika nilai masukan hilang, dan 0 sebaliknya Ini bisa berguna jika data Anda memiliki nilai yang hilang, dan menurut Anda nilai yang hilang itu informatif sales_data = pd.DataFrame({"name":["William","Emma","Sofia","Markus","Edward","Thomas","Ethan","Olivia","Arun","Anika","Paulo"] ,"sales":[50000,52000,90000,34000,42000,72000,49000,55000,67000,65000,67000] ,"region":["East","North","East","South","West","West","South","West","West","East",np.nan] } )_8 Parameter sales_data = pd.DataFrame({"name":["William","Emma","Sofia","Markus","Edward","Thomas","Ethan","Olivia","Arun","Anika","Paulo"] ,"sales":[50000,52000,90000,34000,42000,72000,49000,55000,67000,65000,67000] ,"region":["East","North","East","South","West","West","South","West","West","East",np.nan] } )8 menentukan apakah variabel dummy baru didukung oleh region = sales_data.region4 (Ini agak jarang digunakan. ) sales_data = pd.DataFrame({"name":["William","Emma","Sofia","Markus","Edward","Thomas","Ethan","Olivia","Arun","Anika","Paulo"] ,"sales":[50000,52000,90000,34000,42000,72000,49000,55000,67000,65000,67000] ,"region":["East","North","East","South","West","West","South","West","West","East",np.nan] } )_9 Parameter dtype menentukan tipe data dari variabel dummy baru Secara default, tipe data dari variabel dummy baru adalah region = sales_data.region6 Keluaran pd. get_dummiesSebagai output, fungsi Panda get dummies akan mengembalikan kerangka data yang berisi variabel dummy baru Contoh. Cara Membuat Variabel Dummy dengan Python menggunakan PandasSekarang setelah Anda melihat sintaks untuk fungsi Panda get dummies, mari kita lihat beberapa contoh cara membuat variabel dummy dengan Python Contoh Jalankan kode ini terlebih dahuluSebelum Anda menjalankan contoh, Anda harus menjalankan beberapa kode awal
Mari kita lakukan masing-masing Impor paketPertama, mari impor Panda dan Numpy import pandas as pd import numpy as np Jelas kita membutuhkan Panda untuk menggunakan pd. fungsi get_dummies Tapi kami akan menggunakan Numpy saat kami membuat data kami, untuk menyertakan nilai NA Buat kerangka data contohSelanjutnya, kita perlu membuat kumpulan data yang dapat kita kerjakan Di sini, kita akan membuat beberapa tiruan "data penjualan" menggunakan pd. Fungsi DataFrame, dengan kamus nilai yang akan menjadi kolom sales_data = pd.DataFrame({"name":["William","Emma","Sofia","Markus","Edward","Thomas","Ethan","Olivia","Arun","Anika","Paulo"] ,"sales":[50000,52000,90000,34000,42000,72000,49000,55000,67000,65000,67000] ,"region":["East","North","East","South","West","West","South","West","West","East",np.nan] } ) Mari cetak data untuk melihat isinya print(sales_data) KELUAR name sales region 0 William 50000 East 1 Emma 52000 North 2 Sofia 90000 East 3 Markus 34000 South 4 Edward 42000 West 5 Thomas 72000 West 6 Ethan 49000 South 7 Olivia 55000 West 8 Arun 67000 West 9 Anika 65000 East 10 Paulo 67000 NaN Variabel region = sales_data.region_7 adalah variabel kategori yang dapat kita ubah menjadi 0/1 variabel dummy Perhatikan juga bahwa salah satu nilai dari ________31______7 adalah region = sales_data.region9 (i. e. , nilai yang hilang). Ini akan menjadi penting di Buat SeriKami juga akan membuat Seri Panda bernama region = sales_data.region7 region = sales_data.region Variabel ini berisi kategori wilayah yang kami buat di kerangka data kami Sekarang kita memiliki beberapa data, mari kita bekerja melalui beberapa contoh CONTOH 1. Gunakan Getdummies pada SerialPertama, mari kita gunakan fungsi get dummies pada Seri Pandas Kami akan menggunakan fungsi pada Seri region = sales_data.region7 yang kami buat sebelumnya Cetak dataPertama, mari kita cetak datanya, jadi kita bisa melihat apa yang ada di Seri print(region) KELUAR 0 East 1 North 2 East 3 South 4 West 5 West 6 South 7 West 8 West 9 East 10 NaN Name: region, dtype: object Seperti yang Anda lihat, region = sales_data.region_7 berisi data string yang disusun dalam 4 kategori (Utara, Selatan, Timur, dan Barat). Ada juga nilai yang hilang di akhir seri Gunakan pd. get_dummiesSekarang, kita akan menggunakan fungsi Pandas get_dummies pd.get_dummies(region) KELUAR East North South West 0 1 0 0 0 1 0 1 0 0 2 1 0 0 0 3 0 0 1 0 4 0 0 0 1 5 0 0 0 1 6 0 0 1 0 7 0 0 0 1 8 0 0 0 1 9 1 0 0 0 10 0 0 0 0 (Catatan. output ini sebenarnya adalah kerangka data. ) PenjelasanPerhatikan apa yang terjadi di sini Keluaran pd. get_dummies adalah sekelompok 4 variabel baru
Ada satu variabel baru untuk setiap level dari variabel kategori asli Di mana nilai adalah ' print(region)3' di Seri asli, variabel print(region)3 baru memiliki nilai 1 (dan nilai untuk variabel lainnya adalah 0) Di mana nilainya adalah ' print(region)4' di Seri asli, variabel print(region)4 baru memiliki nilai 1 (dan nilai untuk variabel lainnya adalah 0) Dan seterusnya Jadi fungsi get_dummies telah mengode ulang satu variabel dengan 4 nilai, menjadi 4 variabel dengan nilai 0 atau 1. Struktur baru secara efektif berisi informasi yang sama, tetapi direpresentasikan dengan cara yang berbeda CONTOH 2. Gunakan Getdummies pada kolom DataframeSelanjutnya, kita akan menggunakan pd. get_dummies pada kolom di dalam kerangka data Secara khusus, kami akan menggunakan get_dummies Panda pada variabel region = sales_data.region7 di dalam kerangka data 0 East 1 North 2 East 3 South 4 West 5 West 6 South 7 West 8 West 9 East 10 NaN Name: region, dtype: object2 import pandas as pd import numpy as np0 KELUAR import pandas as pd import numpy as np1 PenjelasanPertama-tama, perhatikan bahwa output dari operasi adalah kerangka data baru Dalam kerangka data baru ini, variabel ________31______7 lama hilang Itu telah diganti dengan 4 variabel baru
Secara default, get_dummies menggunakan nama variabel lama ( region = sales_data.region7) sebagai awalan untuk nama variabel baru Perhatikan juga bagaimana variabel baru dikodekan
Jadi get_dummies Panda telah membuat variabel 0/1 baru untuk setiap level dari variabel kategori asli Ini sangat mirip dengan contoh 1, tetapi alih-alih melakukan operasi ini pada Seri Panda independen, kami telah melakukan operasi pada kolom yang ada di dalam kerangka data (Perhatikan bahwa output dari operasi ini adalah kerangka data baru. ) CONTOH 3. Gunakan Getdummies pada kolom Dataframe, dan jatuhkan kategori pertamaSekarang, kita akan menggunakan get_dummies, tetapi kita akan menggunakan parameter sales_data = pd.DataFrame({"name":["William","Emma","Sofia","Markus","Edward","Thomas","Ethan","Olivia","Arun","Anika","Paulo"] ,"sales":[50000,52000,90000,34000,42000,72000,49000,55000,67000,65000,67000] ,"region":["East","North","East","South","West","West","South","West","West","East",np.nan] } )6 untuk membuang level pertama dari variabel kategori yang sedang kita operasikan Untuk melakukan ini, kami akan menetapkan name sales region 0 William 50000 East 1 Emma 52000 North 2 Sofia 90000 East 3 Markus 34000 South 4 Edward 42000 West 5 Thomas 72000 West 6 Ethan 49000 South 7 Olivia 55000 West 8 Arun 67000 West 9 Anika 65000 East 10 Paulo 67000 NaN7 import pandas as pd import numpy as np2 KELUAR import pandas as pd import numpy as np3 PenjelasanPerhatikan bahwa output hanya memiliki 3 variabel dummy sekarang
Variabel dummy untuk kategori ‘ print(region)3‘ hilang Mengapa? Pengaturan name sales region 0 William 50000 East 1 Emma 52000 North 2 Sofia 90000 East 3 Markus 34000 South 4 Edward 42000 West 5 Thomas 72000 West 6 Ethan 49000 South 7 Olivia 55000 West 8 Arun 67000 West 9 Anika 65000 East 10 Paulo 67000 NaN_7 menyebabkan get_dummies mengecualikan variabel dummy untuk kategori pertama dari variabel yang Anda operasikan Tetapi mengapa kita melakukannya? Ketika Anda memiliki variabel kategori dengan K kategori yang saling eksklusif, Anda sebenarnya hanya membutuhkan K – 1 variabel dummy baru untuk menyandikan informasi yang sama Hal ini karena jika semua variabel dummy yang ada sama dengan 0, maka kita tahu bahwa nilai variabel dummy yang tersisa harus 1. Jadi misalnya, jika East North South West 0 1 0 0 0 1 0 1 0 0 2 1 0 0 0 3 0 0 1 0 4 0 0 0 1 5 0 0 0 1 6 0 0 1 0 7 0 0 0 1 8 0 0 0 1 9 1 0 0 0 10 0 0 0 01, dan East North South West 0 1 0 0 0 1 0 1 0 0 2 1 0 0 0 3 0 0 1 0 4 0 0 0 1 5 0 0 0 1 6 0 0 1 0 7 0 0 0 1 8 0 0 0 1 9 1 0 0 0 10 0 0 0 02, dan East North South West 0 1 0 0 0 1 0 1 0 0 2 1 0 0 0 3 0 0 1 0 4 0 0 0 1 5 0 0 0 1 6 0 0 1 0 7 0 0 0 1 8 0 0 0 1 9 1 0 0 0 10 0 0 0 03, maka 0 East 1 North 2 East 3 South 4 West 5 West 6 South 7 West 8 West 9 East 10 NaN Name: region, dtype: object4 harus sama dengan 1. Ini tersirat dari 3 variabel dummy yang ada, jadi kita tidak perlu yang ke-4. Variabel boneka ekstra secara harfiah berisi informasi yang berlebihan Jadi, sudah menjadi konvensi umum untuk menghapus variabel dummy untuk level pertama dari variabel kategori yang Anda enkode (Faktanya, ini sering dibutuhkan untuk beberapa jenis model pembelajaran mesin. Jika Anda gagal menghapus variabel dummy ekstra, ini dapat menyebabkan masalah pada model Anda. ) CONTOH 4. Gunakan Getdummies pada kolom Dataframe, dan tentukan awalan untuk variabel dummySekarang, kami akan membuat variabel tiruan dengan awalan tertentu Ingat. secara default, ini menggunakan nama variabel sebagai awalan untuk variabel dummy baru Namun di sini, kami akan menyetel East North South West 0 1 0 0 0 1 0 1 0 0 2 1 0 0 0 3 0 0 1 0 4 0 0 0 1 5 0 0 0 1 6 0 0 1 0 7 0 0 0 1 8 0 0 0 1 9 1 0 0 0 10 0 0 0 05 untuk menggunakan awalan yang berbeda import pandas as pd import numpy as np4 KELUAR import pandas as pd import numpy as np5 PenjelasanPerhatikan bahwa sekarang, awalan untuk semua variabel dummy adalah East North South West 0 1 0 0 0 1 0 1 0 0 2 1 0 0 0 3 0 0 1 0 4 0 0 0 1 5 0 0 0 1 6 0 0 1 0 7 0 0 0 1 8 0 0 0 1 9 1 0 0 0 10 0 0 0 06 (bukan hanya region = sales_data.region7) Ini karena kami mengatur awalan secara manual dengan parameter sales_data = pd.DataFrame({"name":["William","Emma","Sofia","Markus","Edward","Thomas","Ethan","Olivia","Arun","Anika","Paulo"] ,"sales":[50000,52000,90000,34000,42000,72000,49000,55000,67000,65000,67000] ,"region":["East","North","East","South","West","West","South","West","West","East",np.nan] } )4 Perlu diingat, awalan bisa lebih rumit. Anda dapat menyediakan kamus nilai awalan yang sesuai dengan variabel dummy baru. Namun, 98% dari waktu, Anda hanya ingin menyetel satu awalan seperti yang kami lakukan di sini CONTOH 5. Gunakan Getdummies pada kolom Dataframe, dan sertakan nilai NATerakhir, mari kita lihat cara membuat variabel dummy untuk nilai yang hilang Anda akan melihat bahwa dalam kerangka data kami, 0 East 1 North 2 East 3 South 4 West 5 West 6 South 7 West 8 West 9 East 10 NaN Name: region, dtype: object2, nilai wilayah adalah import pandas as pd import numpy as np00 untuk salah satu baris (baris untuk Paulo). Ini adalah nilai yang hilang Anda juga akan melihat bahwa pada contoh sebelumnya, untuk baris data ini, nilai untuk semua variabel dummy yang baru dibuat adalah 0 Di sini, kita akan membuat satu variabel dummy tambahan yang mengkodekan 1 untuk nilai yang hilang Untuk melakukan ini, kami akan menetapkan region = sales_data.region1 import pandas as pd import numpy as np6 KELUAR import pandas as pd import numpy as np7 PenjelasanAnda dapat melihat bahwa di output, selain membuat variabel dummy untuk setiap kategori, get_dummies juga membuat variabel yang disebut import pandas as pd import numpy as np02 Nilai ini hanya memiliki 1 dimana nilai variabel yang kita operasikan memiliki nilai yang hilang ( import pandas as pd import numpy as np00). Untuk semua nilai lainnya, import pandas as pd import numpy as np_02 memiliki 0 Ini berguna ketika Anda memiliki data yang memiliki nilai yang hilang, dan Anda ingin menyandikan informasi tentang nilai yang hilang tersebut dalam variabel dummy baru Anda Terkadang, ini berguna. Dalam pembelajaran mesin, terkadang kami menyebutnya “kehilangan informasi. ” Pertanyaan umum tentang Pandas Get_dummiesSekarang kita telah melihat beberapa contoh, mari kita lihat beberapa pertanyaan umum tentang teknik sales_data = pd.DataFrame({"name":["William","Emma","Sofia","Markus","Edward","Thomas","Ethan","Olivia","Arun","Anika","Paulo"] ,"sales":[50000,52000,90000,34000,42000,72000,49000,55000,67000,65000,67000] ,"region":["East","North","East","South","West","West","South","West","West","East",np.nan] } )0 Pertanyaan yang sering diajukan pertanyaan 1. Saya menggunakan get_dummies, tetapi data saya tidak berubah. Mengapa?Jika Anda menggunakan fungsi get_dummies, Anda mungkin memperhatikan bahwa data asli Anda tetap tidak berubah setelah Anda memanggil fungsi tersebut Misalnya, di , kami menggunakan kode berikut import pandas as pd import numpy as np0 Tetapi jika Anda mencentang 0 East 1 North 2 East 3 South 4 West 5 West 6 South 7 West 8 West 9 East 10 NaN Name: region, dtype: object2 setelah Anda menjalankan kode, Anda akan menyadari bahwa itu masih berisi variabel asli (dan variabel dummy tidak ada Itu karena saat kita menjalankan fungsi sales_data = pd.DataFrame({"name":["William","Emma","Sofia","Markus","Edward","Thomas","Ethan","Olivia","Arun","Anika","Paulo"] ,"sales":[50000,52000,90000,34000,42000,72000,49000,55000,67000,65000,67000] ,"region":["East","North","East","South","West","West","South","West","West","East",np.nan] } )0, fungsi ini menghasilkan objek baru, dan membiarkan objek aslinya tidak berubah Ini adalah cara kerja sebagian besar metode Panda Secara default, output dikirim ke konsol. Kita dapat melihat hasilnya di konsol, tetapi untuk menyimpannya, kita perlu menyimpannya dengan sebuah nama Misalnya, Anda dapat menyimpan hasilnya seperti ini import pandas as pd import numpy as np_9 Anda dapat memberi nama output baru apa pun yang Anda inginkan. Anda bahkan bisa menamainya dengan nama aslinya 0 East 1 North 2 East 3 South 4 West 5 West 6 South 7 West 8 West 9 East 10 NaN Name: region, dtype: object2 Tetapi berhati-hatilah. Jika Anda menetapkan kembali keluaran import pandas as pd import numpy as np_10 ke nama kumpulan data, itu akan menimpa kumpulan data asli Anda. Pastikan Anda memeriksa kode Anda agar berfungsi dengan baik sebelum Anda melakukan ini Tinggalkan pertanyaan Anda yang lain di komentar di bawahApakah Anda memiliki pertanyaan lain tentang metode get_dummies Pandas? Apakah ada hal lain yang perlu Anda ketahui yang belum saya bahas di sini? Jika demikian, tinggalkan pertanyaan Anda di bagian komentar di bawah Temukan cara menjadi 'fasih' di PandasTutorial ini menunjukkan cara menggunakan metode Pandas get_dummies, tetapi jika Anda ingin menguasai perselisihan data dengan Pandas, masih banyak yang harus dipelajari Jadi jika Anda ingin menguasai perselisihan data dengan Python, dan menjadi 'fasih' di Pandas, maka Anda harus bergabung dengan kursus kami, Pandas Mastery Pandas Mastery adalah kursus online kami yang akan mengajari Anda alat manipulasi data penting ini, menunjukkan cara menghafal sintaksis, dan menunjukkan cara menggabungkan semuanya Bagaimana cara mengubah variabel kategori Anda menjadi variabel dummy?Anda dapat melakukan tugas ini menggunakan modul panda . Panda memiliki fungsi bernama get_dummies. Ini akan mengubah nilai string kategorikal Anda menjadi variabel dummy.
Bagaimana Anda mengonversi variabel kategori dengan Python?Bagaimana cara mengonversi variabel kategori menjadi numerik dengan Python? . Membuat kamus dan mengubahnya menjadi kerangka data Menggunakan fungsi "get_dummies" untuk penyandian Menyatukan kumpulan data akhir yang disandikan ke dalam kerangka data akhir Menjatuhkan kolom variabel kategorikal Mengapa kita mengubah variabel kategori menjadi variabel dummy?Hal ini karena variabel independen nominal dan ordinal, lebih luas dikenal sebagai variabel independen kategori, tidak dapat langsung dimasukkan ke dalam analisis regresi berganda . Sebaliknya, mereka perlu diubah menjadi variabel dummy.
Bagaimana cara mengonversi panda variabel dummy?Variabel dummy dalam panda adalah variabel indikator yang hanya mengambil nilai, 0 , atau, 1 , untuk menunjukkan apakah variabel kategori terpisah dapat mengambil nilai tertentu atau tidak. Untuk membuat variabel tiruan dalam DataFrame yang diberikan di panda, kami menggunakan fungsi get_dummies() . |