Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Menukar Kategori Panda kepada Indeks Berangka?

Bagaimana untuk Menukar Kategori Panda kepada Indeks Berangka?

Susan Sarandon
Lepaskan: 2024-10-29 03:44:02
asal
471 orang telah melayarinya

How to Convert Pandas Categories to Numerical Indices?

Menukar Kategori Panda kepada Indeks Berangka

Masalah:

Memandangkan bingkai data yang mengandungi nilai kategori, tugasnya adalah untuk menukar kategori ini ke dalam indeks berangka. Katakan kita mempunyai negara sebagai kategori seperti ini:

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

Daripada pengekodan satu-panas menggunakan get_dummies, matlamatnya adalah untuk memberikan indeks kepada setiap negara, seperti cc_index = [1,2,1,3] .

Penyelesaian:

Untuk menukar kategori Panda kepada indeks berangka, ikut langkah berikut:

  1. Tukar jenis data bagi lajur kategori:

    df.cc = pd.Categorical(df.cc)
    Salin selepas log masuk
  2. Buat lajur baharu untuk menyimpan kod kategori:

    df['code'] = df.cc.codes
    Salin selepas log masuk

Ini akan menghasilkan bingkai data dengan lajur kod tambahan yang mengandungi 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 menggunakan kaedah astype untuk menukar lajur kategori terus kepada lajur kategori dengan kod:

df.cc.astype('category').codes
Salin selepas log masuk

Satu lagi pilihan ialah menggunakan lajur kategori sebagai indeks rangka data baharu:

df2 = pd.DataFrame(df.temp)
df2.index = pd.CategoricalIndex(df.cc)
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Menukar Kategori Panda kepada Indeks Berangka?. 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