Skip to content Skip to sidebar Skip to footer

Bagaimana cara menurunkan level dari indeks kolom multi-level di Pandas Dataframe? - GeeksforGeeks

Pada artikel ini, kita akan belajar tentang cara menjatuhkan level dari indeks kolom multi-level. Namun sebelum itu, kita perlu tahu apa itu indeks multi-level. Dataframe indeks multi-level adalah jenis dataframe yang berisi pengindeksan beberapa level atau hierarkis.Pada artikel ini, kita akan membuat kerangka data pilihan kita sendiri dengan pengindeksan beberapa kolom, dan kemudian kita akan menurunkan tingkat pengindeksan hierarkis kita. Implementasi Langkah demi Langkah

Mari kita pahami ini menggunakan implementasi langkah demi langkah dengan bantuan sebuah contoh.

Langkah 1: Impor semua perpustakaan yang diperlukan.

Langkah 2: Buat indeks kolom multi-level Pandas Dataframe dan tampilkan.

Kami membuat kolom multi-indeks menggunakan MultiIndex.from_tuples() yang membantu kami membuat beberapa indeks satu di bawah yang lain, dan itu dibuat dari segi kolom.  Setelah itu, menggunakan pd. Dataframe() kita membuat data dan mengubahnya menjadi format tabular dengan nama kolom sebagai indeks multi-level. Juga, kami mengubah nama indeks tabel menggunakan df.index.   Ular sanca3

indeks = pd. MultiIndex.from_tuples([("Grup 1", "Grup 1"),

("Grup 1", "Grup 2"),

("Grup 3","Grup 3")])

df = pd. DataFrame([["Ross","Joey","Chandler"],

["Rahel","","Monica"]],

kolom=indeks)

Langkah 3: Jatuhkan level dataframe

Sekarang dataframe indeks kolom multi-level dibuat menggunakan python. Sekarang mari kita terapkan konsep di atas sekarang. Kita harus turun level. Kita dapat melakukannya menggunakan df.columns.droplevel(level=0). Ini membantu kita untuk menjatuhkan level indeks dari atas yaitu indeks 0.Python3

df.columns = df.columns.droplevel(0)

Langkah 4: Tampilkan hasil yang diperlukan

Oleh karena itu, kami telah berhasil menurunkan level kolom indeks.

Mari kita lihat beberapa contoh lagi berdasarkan pendekatan di atas.

Dalam contoh berikutnya, kita akan menjatuhkan level dari indeks tertentu dalam indeks kolom multi-level. Ini dapat dilakukan dengan menggunakan sintaks yang sama yang telah kita gunakan sebelumnya[df.columns.droplevel(level=0)] di mana jika kita menentukan nomor level, maka indeks berikut akan dihapus sesuai dengan pengindeksan berbasis nol. Jadi mari kita beralih ke implementasi konsep. Ular sanca3

indeks = pd. MultiIndex.from_tuples([("Perusahaan A", "Perusahaan B","Perusahaan C"),

("Perusahaan A", "Perusahaan A","Perusahaan B"),

("Perusahaan A","Perusahaan B","Perusahaan C")])

df = pd. DataFrame([["Atreyi","Digangana","Sohom"],

["Sujit","Bjon","Rajshekhar"],

["Debosmita","Shatabdi",""]],

kolom=indeks)

Sekarang, jika kita ingin turun level dengan indeks 2, maka mari kita lihat apa yang terjadi! Ular sanca3

df.columns = df.columns.droplevel(2)

Oleh karena itu, kita dapat mengamati bahwa dalam indeks kolom multi-level, kita telah berhasil menghapus level dengan nomor indeks 2.

Dalam contoh ini, kita akan menerapkan lebih banyak konsep indeks multi-level. Kami akan menghapus beberapa level secara bersamaan. Ular sanca3

indeks = pd. MultiIndex.from_tuples([("Perusahaan A", "Perusahaan B", "Perusahaan C"),

("Perusahaan A", "Perusahaan A", "Perusahaan B"),

("Perusahaan A", "Perusahaan B", "Perusahaan C")])

df = pd. DataFrame([["Atreyi", "Digangana", "Sohom"],

["Sujit", "Bjon", "Rajshekhar"],

["Debosmita", "Shatabdi", ""]],

kolom=indeks)

Seperti yang dapat kita lihat, setiap daftar array berisi indeks dari segi kolom. Jadi, tiga array berarti tiga kolom dan jumlah nilai dalam array mengacu pada jumlah baris. Mari kita hapus beberapa indeks dari dataframe sekarang. Kita dapat melakukannya menggunakan df.columns.droplevel(level=0) dengan memanggilnya beberapa kali. Tapi inilah tangkapannya! Ular sanca3

df.columns = df.columns.droplevel(0)

df.columns = df.columns.droplevel(0)

Seperti yang bisa kita lihat, ada dua pernyataan droplevel dengan level sebagai 0. Ini karena, setelah penghapusan satu level, yang tersisa diatur ulang. Jadi level yang tadinya di indeks 1 sekarang akan datang ke indeks 0, Oleh karena itu beberapa droplevel ditulis dalam kasus itu.

Oleh karena itu, level 0 dan level 1 dihapus, dan kita hanya memiliki level 2 yang sekarang ditampilkan sebagai level 0.

Dalam contoh terakhir, mari kita hapus beberapa level dari berbagai posisi dalam dataframe. Ular sanca3

df = pd. DataFrame([["Pengkodean", "Desain Sistem"],

["DBMS", "Bakat"],

["Penalaran Logis", "Pengembangan"]])

df.kolom = pd. MultiIndex.from_tuples([('Grup 1', 'Grup 2', 'Grup 3', 'Grup 4'),

('Grup 3', 'Grup 4', 'Grup 5', 'Grup 6')],

nama=['level 1', 'level 2', 'level 3', 'level 4'])

Sekarang mari kita hapus level 1 dan 3 masing-masing:Python3

df.columns = df.columns.droplevel(0)

df.columns = df.columns.droplevel(1)

Seperti yang bisa kita lihat, kita telah menurunkan level dari indeks 0 dalam kasus pertama. Setelah pengaturan ulang level 2 sekarang akan datang ke indeks 0 dari dataframe indeks multi-level. Sekarang untuk menghapus level 3 sekarang, kita harus menentukan level sebagai 1 sesuai dengan pengindeksan berbasis 0 setelah pengaturan ulang. Sekarang level 2 dan 4 akan ditampilkan dalam output yang dihasilkan.

Post a Comment for "Bagaimana cara menurunkan level dari indeks kolom multi-level di Pandas Dataframe? - GeeksforGeeks"