首頁 >後端開發 >Python教學 >如何按多列對 Pandas DataFrame 進行排序?

如何按多列對 Pandas DataFrame 進行排序?

Susan Sarandon
Susan Sarandon原創
2024-12-13 17:08:13150瀏覽

How Do I Sort a Pandas DataFrame by Multiple Columns?

Pandas 中的多列排序

基於多列對 Pandas DataFrame 進行排序是一項常見任務。本文介紹如何使用 sort() 方法執行多列排序,該方法在最新版本的 Pandas 中已被棄用,取而代之的是 sort_values()。

sort_values() 方法:

從 Pandas 0.17.0 開始,建議對多列使用 sort_values() 方法排序。其語法為:

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

其中:

  • by 指定要排序的欄位
  • ascending 指定每列的排序順序(升序為排序順序(升序為True,下降為假)

對於例如:

要按「b」列升序和「c」列降序對DataFrame df 進行排序,您可以使用:

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

sort ()方法(已棄用):

適用於先前的Pandas 版本0.20.0 中,您仍然可以使用帶有升序參數的sort() 方法:

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

但是,需要注意的是,預設情況下,sort() 方法不是就位的。因此,您應該將排序操作的結果指派給新的 DataFrame 或使用 inplace=True 將原始 DataFrame 替換為排序後的版本:

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

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

以上是如何按多列對 Pandas DataFrame 進行排序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn