Pandas sort_values: Urutkan DataFrame
Blog/Tips & Trik/Pandas sort_values: Urutkan DataFrame

Pandas sort_values: Urutkan DataFrame

BimaBima
·17 Agustus 2026·8 menit baca

Penulis

Bima

Bima

Founder & Data Professional

Bagikan

TL;DR

Method sort_values di pandas ngurutin baris DataFrame berdasarkan nilai satu kolom atau lebih. Secara default urutannya naik dari kecil ke besar, dan bisa dibalik jadi turun pakai ascending=False. Kamu bisa ngurutin banyak kolom sekaligus, ngatur posisi nilai kosong NaN, dan sort_values selalu balikin DataFrame baru kecuali kamu pakai inplace=True.

sort_values adalah method pandas yang ngurutin baris DataFrame berdasarkan nilai satu kolom atau lebih. Defaultnya naik dari kecil ke besar.

Ini salah satu method yang paling sering kepakai. Tiap kali kamu mau naruh data terpenting di atas, sort_values yang ngerjain.

Di artikel ini kamu bakal belajar cara ngurutin naik dan turun, sortir beberapa kolom, ngatur posisi nilai kosong, plus contoh nyata dari data order UMKM.

Apa itu sort_values di pandas?

sort_values ngurutin baris DataFrame berdasarkan nilai kolom yang kamu pilih. Defaultnya urutan naik, dari kecil ke besar. Method ini balikin DataFrame baru yang udah terurut, sementara data aslinya tetap utuh. Ini cara umum buat naruh baris terpenting di atas.

Cara pakainya nempel di DataFrame:

import pandas as pd

df.sort_values('total')

Rumus di atas ngurutin seluruh baris dari nilai total terkecil ke terbesar. Argumen pertama itu nama kolom yang jadi patokan urutan.

Gimana cara ngurutin dari besar ke kecil?

Tambahin argumen ascending=False. Ini ngebalik arah urutan jadi dari besar ke kecil, naruh nilai terbesar di baris paling atas. Enak buat lihat order termahal atau produk terlaris duluan.

df.sort_values('total', ascending=False)

Kalau kamu cuma butuh beberapa baris teratas, gabungin sama head:

df.sort_values('total', ascending=False).head(10)

Ini nunjukin 10 order dengan nilai tertinggi. Pola yang sering aku pakai buat cari transaksi paling besar dalam sekejap.

Bisakah sort_values mengurutkan beberapa kolom?

Bisa. Kasih daftar nama kolom di argumen pertama. pandas ngurutin dari kolom pertama dulu, lalu kolom kedua buat baris yang nilai kolom pertamanya sama. Ini berguna buat ngelompokin data lalu ngurutin di dalam tiap kelompok.

df.sort_values(['kota', 'total'], ascending=[True, False])

Rumus di atas ngurutin kota dari A ke Z, lalu di dalam tiap kota, order diurutin dari total terbesar. Argumen ascending diisi daftar biar tiap kolom punya arah sendiri.

Buat ngitung frekuensi nilai sebelum diurutin, cek value_counts yang udah otomatis terurut.

Di mana posisi NaN setelah sort_values?

Secara default, nilai kosong NaN selalu ditaruh di paling bawah, nggak peduli arah urutannya. Kalau kamu mau NaN muncul di atas biar gampang keliatan, pakai na_position='first'. Ini penting waktu ngecek data yang kosong.

df.sort_values('total', na_position='first')

Sekarang baris yang total-nya kosong nangkring di atas. Kamu bisa langsung lihat berapa banyak data yang bolong tanpa scroll ke bawah.

Contoh kasus: ranking produk toko_berkah

Toko_berkah punya DataFrame ringkasan penjualan dengan kolom produk, kota, dan total_terjual. Pemilik toko mau tau produk terlaris di tiap kota, buat nentuin stok per cabang.

ranking = df.sort_values(
    ['kota', 'total_terjual'],
    ascending=[True, False]
)

# Ambil produk teratas per kota
teratas = ranking.groupby('kota').head(1)

Hasilnya bikin pemilik toko kaget: produk terlaris di Jakarta ternyata beda sama di Bandung. Di Jakarta kopi sachet menang telak, sementara di Bandung malah teh celup yang nomor satu.

Dari data ini, mereka nemuin 3 dari 4 kota punya produk juara yang berbeda. Artinya stok nggak bisa disamaratakan antar cabang. Insight ini langsung ngubah cara mereka bagi kiriman barang tiap minggu.

Buat agregasi per grup yang lebih dalam, lanjut ke pandas groupby.

Kesalahan umum saat pakai sort_values

  • Lupa simpan hasilnya. sort_values balikin DataFrame baru, data asli nggak berubah. Kalau kamu nulis df.sort_values('total') tanpa nyimpen ke variabel, hasilnya ilang. Simpan ke variabel atau tampilkan langsung.
  • Kebanyakan pakai inplace. inplace=True ngubah data asli dan bikin alur susah dilacak. Lebih aman simpan hasil ke variabel baru.
  • Sortir kolom angka yang kesimpan sebagai teks. Kalau kolom total kesimpan sebagai string, urutannya jadi kacau karena diurutin sebagai teks. Ubah dulu tipenya pakai astype sebelum sortir.

FAQ

Apa fungsi sort_values di pandas?

sort_values ngurutin baris DataFrame berdasarkan nilai satu kolom atau lebih, defaultnya naik dari kecil ke besar. Balik jadi turun pakai ascending=False. Cara umum buat naruh data terpenting di atas.

Gimana ngurutin dari besar ke kecil?

Tambahin ascending=False. Contohnya df.sort_values('total', ascending=False) naruh nilai terbesar di atas. Gabungin sama head buat ambil beberapa teratas.

Bisakah sort_values mengurutkan beberapa kolom?

Bisa. Kasih daftar kolom, misal df.sort_values(['kota', 'total']). pandas ngurutin kolom pertama dulu, baru kolom kedua buat nilai yang sama.

Di mana posisi NaN setelah sort?

Default NaN ditaruh di bawah. Pakai na_position='first' kalau mau NaN di atas, berguna buat ngecek data kosong.

Penutup

sort_values itu method kecil yang kepakai hampir tiap kali kamu olah data. Inti pakainya: nama kolom, ascending buat arah, na_position buat NaN.

Ingat satu hal: hasilnya DataFrame baru, jadi simpan ke variabel biar nggak ilang.

Mau lanjut kuasain manipulasi DataFrame? Cek glosarium Series dan dokumentasi resmi di pandas.DataFrame.sort_values.

Coba Langsung

Mau praktek langsung? Mulai latihan SQL gratis

Latihan interaktif, langsung di browser.

Buka NgulikSQL →
Bagikan:
Bima
Ditulis oleh

Bima

Founder & Data Professional

Founder Ngulik Data. Passionate about making data analysis accessible for everyone.

Artikel terkait

NumPy reshape: Ubah Bentuk Array (2026)
Tips & Trik
8 Oktober 2026•9 menit baca

NumPy reshape: Ubah Bentuk Array (2026)

Fungsi reshape di NumPy ngatur ulang bentuk array tanpa ngubah datanya. Ini cara pakainya, arti angka -1, dan cara ngeflat array.

BimaBima
NumPy Array: Dasar-Dasar untuk Analis Data (2026)
Tips & Trik
6 Oktober 2026•10 menit baca

NumPy Array: Dasar-Dasar untuk Analis Data (2026)

NumPy array bikin hitungan data di Python jauh lebih cepat dari list biasa. Ini dasar bikin, slicing, dan operasi array buat analis.

BimaBima
Alternatif iterrows yang Lebih Cepat di Pandas
Tips & Trik
3 Oktober 2026•8 menit baca

Alternatif iterrows yang Lebih Cepat di Pandas

iterrows nyaman ditulis tapi lambat. Ini urutan alternatif iterrows di pandas dari yang tercepat, plus benchmark biar kamu tau kapan pakai yang mana.

BimaBima
Kembali ke Blog
Ngulik Data logoNgulik Data

Platform edukasi data lengkap untuk professionals Indonesia. Belajar SQL, Data Analysis, dan lebih banyak lagi dengan praktek langsung dan feedback real-time.

© 2026 Ngulik Data. Semua hak dilindungi.

TAUTAN
BantuanHargaDatasetBlogAfiliasi
LEGAL
Syarat & KetentuanKebijakan Privasi
Ngulik Data
DatasetLeaderboardBlogStore