Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Mengisih DataFrame Pandas mengikut Berbilang Lajur?

Bagaimanakah Saya Mengisih DataFrame Pandas mengikut Berbilang Lajur?

Susan Sarandon
Susan Sarandonasal
2024-12-13 17:08:13150semak imbas

How Do I Sort a Pandas DataFrame by Multiple Columns?

Isih Berbilang Lajur dalam Panda

Isih Bingkai Data Pandas berdasarkan berbilang lajur ialah tugas biasa. Artikel ini menerangkan cara melakukan pengisihan berbilang lajur menggunakan kaedah sort(), yang telah ditamatkan untuk memilih sort_values() dalam versi terbaru Panda.

sort_values() Kaedah:

Setakat Pandas 0.17.0, kaedah sort_values() disyorkan untuk berbilang lajur menyusun. Sintaksnya ialah:

df.sort_values(by=['column_1', 'column_2'], ascending=[True, False])

di mana:

  • dengan menentukan lajur untuk diisih mengikut
  • menaik menentukan tertib isihan untuk setiap lajur (Benar untuk menaik, Palsu untuk menurun)

Untuk contoh:

Untuk mengisih DataFrame df mengikut lajur 'b' dalam tertib menaik dan lajur 'c' dalam tertib menurun, anda boleh menggunakan:

df = df.sort_values(['b', 'c'], ascending=[True, False])

isih () Kaedah (ditamatkan):

Untuk versi Pandas sebelum 0.20.0, anda masih boleh menggunakan kaedah sort() dengan hujah menaik:

df.sort(['a', 'b'], ascending=[True, False])

Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa kaedah sort() tidak diletakkan secara lalai. Oleh itu, anda harus menetapkan hasil operasi isihan kepada DataFrame baharu atau gunakan inplace=True untuk menggantikan DataFrame asal dengan versi disusun:

df1 = df1.sort(['a', 'b'], ascending=[True, False])

atau

df1.sort(['a', 'b'], ascending=[True, False], inplace=True)

Atas ialah kandungan terperinci Bagaimanakah Saya Mengisih DataFrame Pandas mengikut Berbilang Lajur?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn