當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Python PySpark DataFrame orderBy方法用法及代碼示例

PySpark DataFrame 的 orderBy(~) 方法返回一個新的 DataFrame,它根據指定的列進行排序。

參數

1.cols | stringlistColumn | optional

用於排序的一列或多列。

2. ascending | booleanlistboolean | optional

  • 如果是 True ,則按升序排序。

  • 如果是 False ,則按降序排序。

  • 如果傳遞了布爾值列表,則排序將遵循此順序。例如,如果傳遞 [True,False]cols=["colA","colB"] ,則 DataFrame 將首先按 colA 升序排序,然後按 colB 降序排序。請注意,僅當 colA 中存在重複值時,第二種排序才相關。

默認情況下,ascending=True

返回值

PySpark 數據幀 (pyspark.sql.dataframe.DataFrame)。

例子

考慮以下PySpark DataFrame:

df = spark.createDataFrame([["Alex", 22, 200], ["Bob", 24, 300], ["Cathy", 22, 100]], ["name", "age", "salary"])
df.show()



+-----+---+------+
| name|age|salary|
+-----+---+------+
| Alex| 22|   200|
|  Bob| 24|   300|
|Cathy| 22|   100|
+-----+---+------+

按單列升序對 PySpark DataFrame 進行排序

要按 age 升序排序:

df.orderBy("age").show()



+-----+---+------+
| name|age|salary|
+-----+---+------+
| Alex| 22|   200|
|Cathy| 22|   100|
|  Bob| 24|   300|
+-----+---+------+

按多列升序對 PySpark DataFrame 進行排序

要按 age 排序,然後按 salary 排序(均按升序排列):

df.orderBy(["age","salary"]).show()



+-----+---+------+
| name|age|salary|
+-----+---+------+
|Cathy| 22|   100|
| Alex| 22|   200|
|  Bob| 24|   300|
+-----+---+------+

按降序對 PySpark DataFrame 進行排序

要按降序排序,請設置 ascending=False

df.orderBy("age", ascending=False).show()



+-----+---+------+
| name|age|salary|
+-----+---+------+
|  Bob| 24|   300|
| Alex| 22|   200|
|Cathy| 22|   100|
+-----+---+------+

相關用法


注:本文由純淨天空篩選整理自Isshin Inada大神的英文原創作品 PySpark DataFrame | orderBy method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。