Bagaimana untuk Menukar Lajur Kategori Panda kepada Indeks Berangka Tanpa `get_dummies` dan `numpy`?

Susan Sarandon
Lepaskan: 2024-10-27 22:51:02
asal
420 orang telah melayarinya

How to Convert Pandas Categorical Columns to Numerical Indices Without `get_dummies` and `numpy`?

Tukar Kategori Panda kepada Nombor

Pertimbangkan DataFrame dengan lajur kategori, seperti kod negara:

cc | temp
US | 37.0
CA | 12.0
US | 35.0
AU | 20.0
Salin selepas log masuk

Untuk menukar kategori ini kepada indeks, mengelakkan penggunaan get_dummies dan numpy, pertimbangkan langkah berikut:

  1. Kategori Lajur: Tukar lajur kategori kepada jenis kategori:
df.cc = pd.Categorical(df.cc)
Salin selepas log masuk
  1. Dapatkan Kod Kategori: Gunakan atribut .codes untuk mendapatkan semula kod integer untuk setiap kategori:
df['code'] = df.cc.codes
Salin selepas log masuk

DataFrame yang terhasil akan termasuk lajur baharu yang dipanggil kod dengan indeks berangka:

   cc  temp  code
0  US  37.0     2
1  CA  12.0     1
2  US  35.0     2
3  AU  20.0     0
Salin selepas log masuk

Sebagai alternatif, anda boleh mendapatkan kod kategori tanpa mengubah suai DataFrame:

df.cc.astype('category').codes
Salin selepas log masuk
  1. Gunakan sebagai Indeks: Jika mahu, anda boleh menggunakan lajur kategori sebagai indeks untuk DataFrame yang lain:
df2 = pd.DataFrame(df.temp)
df2.index = pd.CategoricalIndex(df.cc)
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Menukar Lajur Kategori Panda kepada Indeks Berangka Tanpa `get_dummies` dan `numpy`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!