Materi
df.sort_values("kolom") mengurutkan baris dari nilai terkecil; ascending=False mengurutkan dari terbesar. Hasilnya DataFrame baru, data aslinya tidak berubah. Pengurutan dipakai untuk menyusun peringkat: cabang dengan omzet tertinggi, produk paling laku, atau tagihan paling lama menunggak.
terurut = df.sort_values("total", ascending=False)Beberapa kolom sekaligus ditulis sebagai list: pada tabel pelanggan, sort_values(["kota", "belanja"], ascending=[True, False]) mengurutkan nama kota mengikuti abjad lalu, di dalam tiap kota, belanja dari besar ke kecil. Kolom pertama di list adalah kunci utama; kolom kedua hanya dipakai untuk memecah baris yang kunci utamanya sama.
df.loc[syarat, daftar_kolom] mengambil baris dan kolom sekaligus: bagian sebelum koma menyaring baris, bagian sesudahnya memilih kolom. Menulis keduanya dalam satu langkah menghindari salinan tabel penuh yang hanya dipakai sebagian.
bandung = df.loc[df["cabang"] == "Bandung", ["produk", "total"]]Contoh di luar latihan: dari tabel pelanggan, loc dengan syarat kolom belanja di atas 1000000 dan daftar kolom nama serta kota menghasilkan dua kolom untuk pelanggan besar saja, siap ditempel ke daftar undangan.
Kesalahan umum: salah eja nama kolom di sort_values, yang dijawab KeyError berisi nama yang diketik. Kesalahan kedua: mengira sort_values mengubah df; tanpa menampung hasilnya ke variabel, urutan lama yang terpakai di langkah berikutnya.