Model Machine Learning tidak dapat bekerja pada variabel kategori dalam bentuk string, sehingga perlu diubah menjadi bentuk numerik. Kami dapat menetapkan angka untuk setiap kategori tetapi mungkin tidak efektif bila perbedaan antara kategori tidak dapat diukur. Ini dapat dilakukan dengan membuat fitur baru sesuai dengan kategori dengan nilai bool. Untuk ini kita akan menggunakan variabel dummy untuk melakukannya Show
Kode sumber python ini melakukan hal berikut Jadi ini adalah resep bagaimana kita bisa mengonversi variabel kategori menjadi variabel numerik dengan Python Langkah 1 - Impor perpustakaan
Kami hanya mengimpor panda, ini diperlukan untuk kumpulan data Langkah 2 - Menyiapkan DataKami telah membuat kamus dan menyebarkannya melalui pd. DataFrame untuk membuat bingkai data dengan kolom 'nama', 'episode', 'jenis kelamin'. Langkah 3 - Membuat Variabel Dummy dan Mencetak Kumpulan Data akhirDapat kita amati dengan jelas bahwa pada kolom 'gender' terdapat dua kategori male dan female, maka untuk kolom tersebut kita harus membuat dummies sesuai dengan kategori tersebut. Jadi kami telah meneruskan kolom itu ke dalam fungsi dan menyimpannya di df_gender. Akhirnya kami telah menambahkan kolom itu di luar kumpulan data asli. Membaca subset kolom atau baris, mengulang melalui Seri atau DataFrame, menghapus semua kolom non-numerik dan meneruskan argumen Memeriksa Kumpulan DataPengantar panda ini berasal dari Q&A panda Data School dengan catatan dan kode saya sendiri Membaca subset kolom atau baris, mengulang melalui Seri atau DataFrame, menghapus semua kolom non-numerik dan meneruskan argumen1. Membaca subset kolom atau barisDalam [1] import pandas as pd Di [2] link = 'http://bit.ly/uforeports' ufo = pd.read_csv(link)_ Dalam [3] ufo.columns Keluar[3] Index(['City', 'Colors Reported', 'Shape Reported', 'State', 'Time'], dtype='object') Di [4] # reference using String cols = ['City', 'State'] ufo = pd.read_csv(link, usecols=cols)_ Dalam [5] ufo.head() Keluar[5] CityState0IthacaNY1WillingboroNJ2HolyokeCO3AbileneKS4New York Worlds FairNY Di [6] # reference using position (Integer) cols2 = [0, 4] ufo = pd.read_csv(link, usecols=cols2)_ Di [7] ufo.head() Keluar[7] CityTime0Ithaca6/1/1930 22. 001Willingboro6/30/1930 20. 002Holyoke2/15/1931 14. 003Abilene6/1/1931 13. 004New York Worlds Fair4/18/1933 19. 00 Di [8] # if you only want certain number of rows ufo = pd.read_csv(link, nrows=3)_ Dalam [9] ufo
_Keluar[9] CityColors ReportedShape ReportedStateTime0IthacaNaNTRIANGLENY6/1/1930 22. 001WillingboroNaNOTHERNJ6/30/1930 20. 002HolyokeNaNOVALCO2/15/1931 14. 00 2. Iterasi melalui Seri dan DataFrameDi [11] link = 'http://bit.ly/uforeports' ufo = pd.read_csv(link)_0 link = 'http://bit.ly/uforeports' ufo = pd.read_csv(link)_1 Dalam [12] link = 'http://bit.ly/uforeports' ufo = pd.read_csv(link)_2 link = 'http://bit.ly/uforeports' ufo = pd.read_csv(link)_3 3. Letakkan kolom non-numerik di DataFrameDi [13] link = 'http://bit.ly/uforeports' ufo = pd.read_csv(link)_4 Dalam [14] link = 'http://bit.ly/uforeports' ufo = pd.read_csv(link)_5 Keluar[14] link = 'http://bit.ly/uforeports' ufo = pd.read_csv(link)_6 Dalam [17] link = 'http://bit.ly/uforeports' ufo = pd.read_csv(link)_7 Keluar[17] link = 'http://bit.ly/uforeports' ufo = pd.read_csv(link)_8 4. Melewati argumen, kapan harus menggunakan daftar atau stringDalam [19] link = 'http://bit.ly/uforeports' ufo = pd.read_csv(link)_9 Keluar[19] countrybeer_servingsspirit_servingswine_servingstotal_litres_of_pure_alcoholcontinentcount193193. 000000193. 000000193. 000000193. 000000193unique193NaNNaNNaNNaN6topBahrainNaNNaNNaNNaNAfricafreq1NaNNaNNaNNaN53meanNaN106. 16062280. 99481949. 4507774. 717098NaNstdNaN101. 14310388. 28431279. 6975983. 773298NaNminNaN0. 0000000. 0000000. 0000000. 000000NaN25%NaN20. 0000004. 0000001. 0000001. 300000NaN50%NaN76. 00000056. 0000008. 0000004. 200000NaN75%NaN188. 000000128. 00000059. 0000007. 200000NaNmaksNaN376. 000000438. 000000370. 00000014. 400000NaN Dalam [21] ufo.columns0 Keluar[21] countrytotal_litres_of_pure_alcoholcontinentcount193193. 000000193unique193NaN6topBahrainNaNAfricafreq1NaN53meanNaN4. 717098NaNstdNaN3. 773298NaNminNaN0. 000000NaN25%NaN1. 300000NaN50%NaN4. 200000NaN75%NaN7. 200000NaNmaksNaN14. 400000NaN Bagaimana cara mengonversi data kategorikal menjadi data numerik dalam Python panda?Metode 1. Menggunakan metode replace()
. Misalnya, Kami akan mengambil dataset gaji orang berdasarkan tingkat pendidikannya. Ini adalah jenis variabel kategori ordinal. Kami akan mengubah tingkat pendidikan mereka menjadi istilah numerik.
Bagaimana Anda mengubah tipe data dengan Python?Dimungkinkan untuk mengonversi sebuah string menjadi bilangan bulat dengan Python menggunakan fungsi int() , sementara fungsi str() mengubah sebuah . Integer dapat diubah menjadi float menggunakan float() , dan float dapat diubah menjadi integer, meskipun hal ini dapat menyebabkan hilangnya data.
Cara menyandikan nonUntuk menyandikan data non-numerik ke numerik, Anda dapat menggunakan LabelEncoder scikit-learn . Ini akan menyandikan setiap kategori seperti COL1 a , b , c ke bilangan bulat. enc. fit() membuat nilai integer yang sesuai.
Bagaimana cara mengubah bingkai data menjadi angka?Gunakan panda DataFrame. astype() berfungsi untuk mengonversi kolom menjadi int (bilangan bulat) , Anda dapat menerapkan ini pada kolom tertentu atau pada seluruh DataFrame. Untuk mentransmisikan tipe data ke integer bertanda 64-bit, Anda dapat menggunakan numpy. int64 , numpy. |