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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。