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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。