Bagaimana Anda memetakan nilai kategorikal dengan python?

Kami berbicara dengan Phil Harvey tentang konsep empati data, contoh dunia nyata dari empati data, pentingnya praktik saat mempelajari sesuatu yang baru, peran empati data dalam pengembangan AI, dan banyak lagi.

Dalam tutorial singkat ini, kita akan melihat cara memetakan data numerik ke dalam kategori atau tempat sampah di Pandas. Proses ini dikenal juga sebagai binning atau pengelompokan berdasarkan data ke dalam Kategorikal

Kasus penggunaan umum untuk operasi ini adalah

  • data keuangan
  • gaji
  • bertahun-tahun
  • usia
  • persentase

Kami akan membahas beberapa contoh paling menarik. Untuk memulai, buat DataFrame sederhana dengan kolom persentase, usia, gaji

data = {'productivity': [80, 20, 60, 30, 50, 55, 95],
        'salary': [3500, 1500, 2000, 1000, 2000, 1500, 4000],
        'age': [25, 30, 40, 35, 20, 40, 22]}
data_ix = ['Tim', 'Jim', 'Kim', 'Bim', 'Dim', 'Sim', 'Lim']
df_example = pd.DataFrame[data, index=data_ix]
print[df_example.to_markdown[]]

data

productivitysalaryageTim80350025Jim20150030Kim60200040Bim30100035Dim50200020Sim55150040Lim95400022

Langkah 1. Petakan persentase ke dalam kotak dengan potongan Panda

Mari kita mulai dengan contoh sederhana pemetaan data/persentase numerik ke dalam kategori untuk setiap orang di atas. Pertama kita perlu mendefinisikan bin atau kategori. Dalam contoh ini kita akan menggunakan

bins = [0, 20, 50, 75, 100]

Selanjutnya kita akan memetakan kolom produktifitas ke setiap bin berdasarkan

bins = [0, 20, 50, 75, 100]
df_example['binned'] = pd.cut[df_example['productivity'], bins]
_

hasilnya adalah

binnedTim[75, 100]Jim[0, 20]Kim[50, 75]Bim[20, 50]Dim[20, 50]Sim[50, 75]Lim[75, 100]

Sekarang kita bisa melakukan value_counts

dibuang[75, 100]2[50, 75]2[20, 50]2[0, 20]1

Catatan. Jika kita tertarik dengan jumlah kumulatif per grup maka artikel ini sangat berguna. Jumlah kumulatif Python per grup dengan Panda

Langkah 2. Petakan kolom numerik ke dalam kategori dengan potongan Pandas

Sekarang mari kita kelompokkan dan petakan setiap orang ke dalam kategori yang berbeda berdasarkan nomor dan tambahkan label baru [pengalaman/usia mereka di area tersebut]. Sekali lagi kita perlu menentukan batasan kategori sebelum pemetaan. Tapi ini kita juga perlu memiliki nama untuk setiap kategori

bins = [15, 20, 25, 50]

bins = [0, 20, 50, 75, 100]
df_example['binned'] = pd.cut[df_example['productivity'], bins]
_0

Mari kita lihat bagaimana memetakan setiap karyawan di salah satu kategori ini

bins = [15, 20, 25, 50]
category = ['junior', 'mid', 'senior']
df_example['experience'] = pd.cut[df_example['age'], bins, labels=category]

hasil

experienceTimmidJimseniorKimseniorBimseniorDimjuniorSimseniorLimmid

Catatan 1. bahwa label nampan harus satu lebih sedikit dari jumlah tepi nampan jika tidak, kesalahan akan muncul

bins = [0, 20, 50, 75, 100]
df_example['binned'] = pd.cut[df_example['productivity'], bins]
_1

Catatan 2. metode

bins = [0, 20, 50, 75, 100]
df_example['binned'] = pd.cut[df_example['productivity'], bins]
_2 akan membuat kolom Kategorikal

Catatan 3.

bins = [0, 20, 50, 75, 100]
df_example['binned'] = pd.cut[df_example['productivity'], bins]
_3 dapat digunakan sebagai batas atas

Catatan 4.

bins = [0, 20, 50, 75, 100]
df_example['binned'] = pd.cut[df_example['productivity'], bins]
_4 adalah kesalahan yang ditampilkan jika kacang tidak konsisten

Langkah 3. Panda memetakan kolom numerik dengan kamus

Akhirnya mari kita lihat bagaimana memetakan kolom yang ada ke kamus dan memetakan setiap nilai

salary_dict = {1000: 'L1', 1500: 'L2', 2000: 'L3',  2500: 'L4',  
               2500: 'L5',   3500: 'L6',  4000: 'L7' }
df_example['salary'].map[salary_dict]
_

Hasil akhirnya adalah

gajiTimL6JimL2KimL3BimL1DimL3SimL2LimL7

Catatan. Pemetaan Tidak Lengkap dapat ditangani oleh

salary_dict = {1000: 'L1', 1500: 'L2', 2000: 'L3',  2500: 'L4'}
df_example['salary'].map[di].fillna[df_example['salary']]
_

jadi alih-alih nilai NaN, output berisi data dari kolom asli [yang tidak memiliki peta]

gajiTim3500JimL2KimL3BimL1DimL3SimL2Lim4000

Langkah 4. Panda memetakan kolom numerik dengan np. Pilih

Terakhir, mari kita lihat cara memetakan nilai berdasarkan pilihan. Pemilihan dilakukan oleh.

bins = [0, 20, 50, 75, 100]
df_example['binned'] = pd.cut[df_example['productivity'], bins]
_5. Kami akan membagi gaji menjadi dua kelompok

Anda mungkin memiliki data kategori dalam kumpulan data Anda. Data kategorikal adalah tipe dengan dua kategori atau lebih. Jika Anda memiliki data kategorikal dalam kumpulan data, mengubah data ini menjadi data kategorikal memungkinkan Anda menggunakan lebih sedikit memori dan mempermudah analisis

Saya akan berbicara tentang topik berikut di posting ini

  • Konversi ke data kategorikal
  • Bekerja dengan data kategorikal
  • Kinerja jenis kategori
  • Metode kategoris
  • Membuat variabel dummy?

Sebelum memulai, jangan lupa untuk berlangganan saluran youtube saya tempat saya membuat konten tentang ai, ilmu data, pembelajaran mesin, dan pembelajaran mendalam

Mari selami

Konversi ke Data Kategorikal

Anda dapat mengonversi variabel menjadi variabel kategorikal. Untuk menunjukkan ini, pertama, mari impor pustaka Pandas dan Numpy

Jika kumpulan data Anda memiliki nilai duplikat, Anda dapat menggunakan fungsi seperti metode unique dan value_counts. Untuk menunjukkan ini, mari buat data

Mari kita lihat nilai unik dalam data

Mari kita lihat jumlah nilai duplikat dalam data menggunakan metode value_counts

Anda dapat menetapkan nilai numerik untuk nilai-nilai ini. Untuk menunjukkan ini, izinkan saya membuat variabel nilai

Sekarang, mari kita petakan variabel ini ke data

Jenis Kategori dalam Panda

Panda memiliki tipe kategorikal khusus untuk data. Untuk menunjukkan ini, mari cetak kembali variabel data

Mari kita tetapkan panjang variabel ini ke variabel N

Mari buat kerangka data menggunakan data nama ini

Mari kita lihat kumpulan datanya

Mari kita pilih kolom nama

Mari kita lihat struktur kolom nama

Kolom ini ada dalam struktur data Seri. Mari ubah seri ini menjadi sebuah kategori

Sekarang nilai dalam name_cat ini bersifat kategoris. Untuk memeriksanya, mari kita tetapkan nilai di name_cat ke x

Mari kita lihat struktur dari nilai-nilai ini

Mari kita lihat kodenya

Anda juga dapat mengonversi kolom dalam bingkai data menjadi kategori

Anda dapat langsung membuat variabel kategorikal

Anda dapat langsung mengkategorikan data dengan metode Categorical

Anda dapat mengkategorikan data yang memiliki pengkodean kategorikal dengan from_codes. Untuk menunjukkan ini, mari buat variabel orang dan kode, lalu petakan kedua variabel ini

Perhatikan bahwa tidak ada urutan khusus dalam data kategorikal. Anda dapat mengurutkan secara kategoris dengan memerintahkan = Benar

Mari pesan variabel ini dengan metode as_ordered

Bekerja dengan Data Kategorikal

Anda dapat dengan mudah bekerja dengan fungsi seperti groupby jika Anda mengkategorikan data. Untuk menunjukkan ini, mari buat data dari distribusi normal

Izinkan saya membagi data ini menjadi empat interval

Mari kita periksa jenis variabel interval ini

Variabel interval ini adalah tipe kategorikal. Anda dapat menetapkan label untuk rentang ini

Anda dapat menghitung beberapa statistik ringkasan menggunakan groupby. Pertama, mari kita ubah rentang menjadi seri

Sekarang, mari kita cari nilai interval minimum dan maksimum

Kinerja Jenis Kategorikal

Saat bekerja dengan data besar, mengonversi ke variabel kategorikal dan menganalisis akan meningkatkan kinerja. Versi kategori kolom DataFrame menggunakan ruang memori yang jauh lebih sedikit. Misalnya, mari buat data dengan sepuluh juta elemen

Mari beri label pada nilai-nilai ini

Mari ubah data ini menjadi data kategorikal

Sekarang, mari kita lihat penggunaan memori data kategori dan non-kategori

Seperti yang Anda lihat, data kategori menggunakan lebih sedikit memori daripada data non-kategori

Metode Kategorikal

Anda dapat menggunakan beberapa metode khusus untuk seri. Untuk menunjukkan metode ini, mari buat rangkaian

Mari ubah data ini menjadi data kategorikal

Atribut cat memungkinkan kita untuk mengakses metode kategorikal. Sebagai contoh, mari gunakan metode kode untuk melihat kode nilai dalam data

Saat Anda ingin menggunakan metode kategorikal, Anda harus menulis metode kucing terlebih dahulu, baru kemudian Anda dapat menggunakan metode kategorikal

Anda dapat menggunakan metode set_categories untuk menambah kategori

Anda dapat menggunakan metode remove_unused_categories untuk menghapus kategori yang tidak digunakan. Untuk menunjukkan ini, mari pilih nilai a dan b dalam data

Sekarang, mari kita hapus kategori yang tidak digunakan

Membuat Variabel Dummy?

Sebelum membangun model pembelajaran mesin, Anda perlu mengonversi data kategorikal menjadi variabel dummy. Untuk menunjukkan ini, izinkan saya menggunakan data s_ct lagi

Anda dapat menggunakan fungsi get_dummies untuk mengonversi data kategorikal menjadi variabel dummy

Itu dia. Dalam posting ini, saya membahas cara bekerja dengan data kategorikal di Pandas. Saya harap Anda menikmati posting ini. Terima kasih sudah membaca. Anda dapat menemukan notebook di sini

Jangan lupa untuk mengikuti kami di YouTube. Twitter. GitHub. Linkedin. Kaggle

8 Visualisasi Seaborn Terbaik

Plot statistik langsung dengan Python Seaborn menggunakan dataset penguin

medium. com

ANALISA DATA PRAKTIS DENGAN PANDAS

Di posting terakhir saya, saya menyebutkan bekerja dengan data di perpustakaan Pandas. Salah satu pustaka terpenting Python adalah panda…

naik tingkat. terhubung. com

Jika postingan ini bermanfaat, silakan klik tombol tepuk 👏 di bawah beberapa kali untuk menunjukkan dukungan Anda 👇

Bagaimana Anda memetakan nilai ke variabel kategori di Python?

Dalam python, tidak seperti R, tidak ada opsi untuk merepresentasikan data kategorikal sebagai faktor. Faktor dalam R disimpan sebagai vektor nilai bilangan bulat dan dapat diberi label. Jika kita memiliki data dalam Seri atau Bingkai Data, kita dapat mengonversi kategori ini menjadi angka menggunakan metode astipe Seri panda dan menentukan 'kategorikal' .

Bagaimana Anda memetakan data kategorikal?

Memetakan fitur ordinal. Buat kamus pemetaan terlebih dahulu, lalu petakan nilai string kategorikal menjadi bilangan bulat. .
Ubah fitur kategorikal nominal menjadi variabel dummy. .
Mengkodekan label kelas. .
Konversi variabel kategorikal dengan Patsy

Bagaimana Anda menampilkan data kategorikal dengan Python?

Petak batang. Mari kita mulai dengan cara paling klasik untuk menampilkan data kategorikal. plot bar yang bahkan tidak membutuhkan pengenalan. .
Plot batang. .
Pie chart. .
Peta pohon. .
Bagan wafel. .
Awan kata

Bagaimana Anda mengkategorikan data kategorikal?

Data kategori dianalisis menggunakan mode dan distribusi median , di mana data nominal dianalisis dengan mode sedangkan data ordinal menggunakan keduanya. Dalam beberapa kasus, data ordinal juga dapat dianalisis menggunakan statistik univariat, statistik bivariat, aplikasi regresi, tren linier, dan metode klasifikasi.

Bài mới nhất

Chủ Đề