按多列對 Pandas Dataframe 進行排序
按多列對 Pandas Dataframe 進行排序是資料分析中的常見操作排序。考慮一個包含「a」、「b」和「c」列的資料框。若要按「b」列升序和「c」列降序對此資料框進行排序,請依照以下步驟操作:
從Pandas 版本0.17.0 開始,排序方法已被棄用,轉而使用sort_values。從版本 0.20.0 開始,排序已完全刪除。但是,參數和結果保持不變:
df.sort_values(['a', 'b'], ascending=[True, False])
使用已棄用的排序方法的等效方法是:
df.sort(['a', 'b'], ascending=[True, False])
例如,考慮一個資料幀df1 在列中具有隨機整數值'a' 和'b':
import pandas as pd import numpy as np df1 = pd.DataFrame(np.random.randint(1, 5, (10, 2)), columns=['a', 'b'])
按'a'對此資料框進行排序升序和降序的「b」給出:
df1.sort(['a', 'b'], ascending=[True, False])
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
請記住,預設情況下排序方法不是就地的。若要使用排序後的值來更新 df1,請將排序方法的結果指派給 df1 或在方法呼叫中使用 inplace=True:
df1 = df1.sort(['a', 'b'], ascending=[True, False])
或
df1.sort(['a', 'b'], ascending=[True, False], inplace=True)
以上是如何按多列升序和降序對 Pandas DataFrame 進行排序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!