Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Mengisih DataFrame Pandas mengikut Berbilang Lajur dalam Tertib Menaik dan Menurun?

Bagaimana untuk Mengisih DataFrame Pandas mengikut Berbilang Lajur dalam Tertib Menaik dan Menurun?

Linda Hamilton
Lepaskan: 2024-12-15 08:49:09
asal
186 orang telah melayarinya

How to Sort a Pandas DataFrame by Multiple Columns in Ascending and Descending Order?

Mengisih Bingkai Data Panda mengikut Berbilang Lajur

Mengisih bingkai data Pandas mengikut berbilang lajur ialah operasi biasa dalam analisis data. Pertimbangkan bingkai data dengan lajur 'a', 'b' dan 'c'. Untuk mengisih rangka data ini mengikut lajur 'b' dalam tertib menaik dan lajur 'c' dalam tertib menurun, ikut langkah berikut:

Bermula dari Pandas versi 0.17.0, kaedah isihan telah ditamatkan dan memihak kepada nilai_isih. Mulai versi 0.20.0, isihan telah dialih keluar sepenuhnya. Walau bagaimanapun, hujah dan keputusan kekal tidak berubah:

df.sort_values(['a', 'b'], ascending=[True, False])
Salin selepas log masuk

Cara yang setara menggunakan kaedah isihan yang ditamatkan ialah:

df.sort(['a', 'b'], ascending=[True, False])
Salin selepas log masuk

Sebagai contoh, pertimbangkan bingkai data df1 dengan nilai integer rawak dalam lajur 'a' dan 'b':

import pandas as pd
import numpy as np

df1 = pd.DataFrame(np.random.randint(1, 5, (10, 2)), columns=['a', 'b'])
Salin selepas log masuk

Isih rangka data ini dengan 'a' dalam menaik susunan dan 'b' dalam tertib menurun memberikan:

df1.sort(['a', 'b'], ascending=[True, False])
Salin selepas log masuk
   a  b
2  1  4
7  1  3
1  1  2
3  1  2
4  3  2
6  4  4
0  4  3
9  4  3
5  4  1
8  4  1
Salin selepas log masuk

Ingat bahawa kaedah isihan tidak berada di tempat secara lalai. Untuk mengemas kini df1 dengan nilai yang diisih, tetapkan hasil kaedah isihan kepada df1 atau gunakan inplace=True dalam panggilan kaedah:

df1 = df1.sort(['a', 'b'], ascending=[True, False])
Salin selepas log masuk

atau

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

Atas ialah kandungan terperinci Bagaimana untuk Mengisih DataFrame Pandas mengikut Berbilang Lajur dalam Tertib Menaik dan Menurun?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan