Penjelasan sederhana
Sama seperti tombol Sort di Excel, termasuk sort bertingkat: urut kota dulu, lalu gaji di dalam tiap kota.
Sintaks
df.sort_values(by, ascending=True)
| Bagian | Keterangan |
|---|---|
by | Nama kolom, atau daftar kolom untuk urutan bertingkat. |
ascending | True kecil ke besar (A–Z), False besar ke kecil. Bisa berupa daftar untuk tiap kolom. |
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 sort_values()
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 |
karyawan.sort_values(['kota', 'gaji'], ascending=[True, False])[['nama', 'kota', 'gaji']]
Hasil 8 baris × 3 kolom
| nama | kota | gaji | |
|---|---|---|---|
| 0 | Andi Pratama | Bandung | 12500000 |
| 2 | Candra Wijaya | Bandung | 8200000 |
| 1 | Bunga Lestari | Jakarta | 9800000 |
| 6 | Gita Permata | Jakarta | 8200000 |
| 3 | Dewi Anggraini | Jakarta | 7500000 |
| 4 | Eko Saputra | Jakarta | 6900000 |
| 7 | Hendra Gunawan | Medan | 5500000 |
| 5 | Fajar Nugroho | Surabaya | 11000000 |
Kolom abu-abu adalah index, yaitu nomor baris asli di tabel. Nomornya tidak urut karena ada baris yang disaring atau diurutkan. Apa itu index?
Urut kota A–Z, lalu di dalam kota yang sama gaji terbesar di atas.
Cara kerjanya, langkah demi langkah
- Baris diurutkan berdasarkan
kotanaik (A–Z). - Baris dengan kota sama diurutkan lagi berdasarkan
gajiturun. - Tiga kolom dipilih untuk ditampilkan.
Dipakai untuk apa di kantor?
- Mencari 10 produk terlaris atau karyawan dengan gaji tertinggi.
- Menyusun data sesuai tanggal sebelum menghitung total berjalan.
Kesalahan yang sering terjadi
- Mengira data asli ikut terurut. Simpan hasilnya:
df = df.sort_values(...). - Panjang daftar
ascendingtidak sama dengan daftar kolom.
df['baru'] = …