Penjelasan sederhana
Setiap baris di Pandas punya "nomor KTP" yang disebut index, mulai dari 0 (bukan 1). Nomor ini tetap menempel di barisnya walaupun baris lain disaring atau diurutkan.
Jadi kalau kamu menyaring karyawan Jakarta dan hasilnya bernomor 1, 3, 4, 6, artinya baris-baris itu berasal dari posisi 1, 3, 4, dan 6 di tabel asli.
Sintaks
df.reset_index(drop=True)
| Bagian | Keterangan |
|---|---|
reset_index() | Menomori ulang baris dari 0. |
drop=True | Membuang nomor lama. Tanpa ini, nomor lama disimpan sebagai kolom baru bernama index. |
df adalah nama DataFrame (tabel) yang sedang diolah. Contoh di bawah memakai import pandas as pd dan import numpy as np, yang sudah disiapkan otomatis.
Contoh index
Data contoh: karyawan (sudah tersedia sebagai DataFrame)
DataFrame karyawan
| id | nama | dept_id | kota | gaji | tgl_masuk | atasan_id |
|---|---|---|---|---|---|---|
| 1 | Andi Pratama | 3 | Bandung | 12500000 | 2019-03-11 | NaN |
| 2 | Bunga Lestari | 1 | Jakarta | 9800000 | 2020-07-01 | NaN |
| 3 | Candra Wijaya | 3 | Bandung | 8200000 | 2021-02-15 | 1 |
| 4 | Dewi Anggraini | 2 | Jakarta | 7500000 | 2022-05-09 | 6 |
| 5 | Eko Saputra | 1 | Jakarta | 6900000 | 2023-01-16 | 2 |
| 6 | Fajar Nugroho | 2 | Surabaya | 11000000 | 2018-09-03 | NaN |
| 7 | Gita Permata | 3 | Jakarta | 8200000 | 2023-08-21 | 1 |
| 8 | Hendra Gunawan | NaN | Medan | 5500000 | 2024-04-02 | NaN |
jakarta = karyawan[karyawan['kota'] == 'Jakarta']
print('Nomor baris setelah disaring:', jakarta.index.tolist())
jakarta.reset_index(drop=True)[['nama', 'kota']]
Nomor baris setelah disaring: [1, 3, 4, 6]
Hasil 4 baris × 2 kolom
| nama | kota |
|---|---|
| Bunga Lestari | Jakarta |
| Dewi Anggraini | Jakarta |
| Eko Saputra | Jakarta |
| Gita Permata | Jakarta |
Setelah disaring, nomor barisnya 1, 3, 4, 6 karena itu posisi asli mereka di tabel karyawan. reset_index(drop=True) menomori ulang jadi 0, 1, 2, 3.
Cara kerjanya, langkah demi langkah
karyawan['kota'] == 'Jakarta'menyaring baris yang kotanya Jakarta.jakarta.index.tolist()menampilkan nomor asli baris yang terpilih.reset_index(drop=True)membuat nomor baru yang rapi dari 0.
Dipakai untuk apa di kantor?
- Merapikan tabel hasil filter sebelum ditampilkan atau disimpan.
- Memahami kenapa hasil groupby menampilkan nama kelompok di kolom abu-abu: kelompok itu menjadi index.
Kesalahan yang sering terjadi
- Menyangka ada data yang hilang karena nomornya melompat. Yang terjadi hanya penyaringan.
- Lupa
drop=True, sehingga muncul kolom baru bernamaindexberisi nomor lama.
df.fungsi()