PySpark DataFrame 的 sort(~) 方法返回一個新的 DataFrame,其中行根據指定列進行排序。
參數
1.cols | string 或 list 或 Column
用於對行進行排序的列。
2. ascending | boolean 或 list | optional
是否按升序或降序排序。默認情況下,ascending=True 。
返回值
PySpark 數據幀。
例子
考慮以下PySpark DataFrame:
df = spark.createDataFrame([["Alex", 30], ["Bob", 20], ["Cathy", 20]], ["name", "age"])
df.show()
+-----+---+
| name|age|
+-----+---+
| Alex| 30|
| Bob| 20|
|Cathy| 20|
+-----+---+
按單列升序對 PySpark DataFrame 進行排序
要按 age 列按升序對 PySpark DataFrame 進行排序:
df.sort("age").show() # ascending=True
+-----+---+
| name|age|
+-----+---+
|Cathy| 20|
| Bob| 20|
| Alex| 30|
+-----+---+
我們還可以使用sql.functions來引用該列:
import pyspark.sql.functions as F
df.sort(F.col("age")).show()
+-----+---+
| name|age|
+-----+---+
|Cathy| 20|
| Bob| 20|
| Alex| 30|
+-----+---+
按單列降序對 PySpark DataFrame 進行排序
要按 age 列降序對 PySpark DataFrame 進行排序:
df.sort("age", ascending=False).show()
+-----+---+
| name|age|
+-----+---+
| Alex| 30|
| Bob| 20|
|Cathy| 20|
+-----+---+
按多列對 PySpark DataFrame 進行排序
要首先按 age 列對 PySpark 數據幀進行排序,然後按 name 列進行升序排序:
df.sort(["age", "name"]).show()
+-----+---+
| name|age|
+-----+---+
| Bob| 20|
|Cathy| 20|
| Alex| 30|
+-----+---+
此處,Bob 和 Cathy 出現在 Alex 之前,因為它們的年齡 ( 20 ) 較小。 Bob 然後出現在 Cathy 之前,因為 B 出現在 C 之前。
我們還可以傳遞布爾值列表來指定每列所需的順序:
df.sort(["age", "name"], ascending=[True, False]).show()
+-----+---+
| name|age|
+-----+---+
|Cathy| 20|
| Bob| 20|
| Alex| 30|
+-----+---+
在這裏,我們首先按age升序排序,然後按name降序排序。
相關用法
- Python Pandas DataFrame sort_index方法用法及代碼示例
- Python Pandas DataFrame sort_values方法用法及代碼示例
- Python Pandas DataFrame sample方法用法及代碼示例
- Python Pandas DataFrame swaplevel方法用法及代碼示例
- Python PySpark DataFrame sampleBy方法用法及代碼示例
- Python Pandas DataFrame set_axis方法用法及代碼示例
- Python Pandas DataFrame select_dtypes方法用法及代碼示例
- Python PySpark DataFrame selectExpr方法用法及代碼示例
- Python PySpark DataFrame show方法用法及代碼示例
- Python PySpark DataFrame select方法用法及代碼示例
- Python Pandas DataFrame stack方法用法及代碼示例
- Python Pandas DataFrame shift方法用法及代碼示例
- Python Pandas DataFrame size屬性用法及代碼示例
- Python Pandas DataFrame set_index方法用法及代碼示例
- Python Pandas DataFrame swapaxes方法用法及代碼示例
- Python PySpark DataFrame sample方法用法及代碼示例
- Python Pandas DataFrame sub方法用法及代碼示例
- Python Pandas DataFrame sem方法用法及代碼示例
- Python Pandas DataFrame sum方法用法及代碼示例
- Python Pandas DataFrame std方法用法及代碼示例
- Python PySpark DataFrame summary方法用法及代碼示例
- Python Pandas DataFrame shape屬性用法及代碼示例
- Python Pandas DataFrame slice_shift方法用法及代碼示例
- Python Pandas DataFrame squeeze方法用法及代碼示例
- Python Pandas DataFrame empty屬性用法及代碼示例
注:本文由純淨天空篩選整理自Isshin Inada大神的英文原創作品 PySpark DataFrame | sort method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。
