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
productivitysalaryageTim80350025Jim20150030Kim60200040Bim30100035Dim50200020Sim55150040Lim95400022Langkah 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]1Catatan. 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]
_0Mari 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
experienceTimmidJimseniorKimseniorBimseniorDimjuniorSimseniorLimmidCatatan 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]
_1Catatan 2. metode
bins = [0, 20, 50, 75, 100]
df_example['binned'] = pd.cut[df_example['productivity'], bins]
_2 akan membuat kolom KategorikalCatatan 3.
bins = [0, 20, 50, 75, 100]
df_example['binned'] = pd.cut[df_example['productivity'], bins]
_3 dapat digunakan sebagai batas atasCatatan 4.
bins = [0, 20, 50, 75, 100]
df_example['binned'] = pd.cut[df_example['productivity'], bins]
_4 adalah kesalahan yang ditampilkan jika kacang tidak konsistenLangkah 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
gajiTimL6JimL2KimL3BimL1DimL3SimL2LimL7Catatan. 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]
gajiTim3500JimL2KimL3BimL1DimL3SimL2Lim4000Langkah 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 KategorikalAnda 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 👇