当前位置: 首页>>编程示例 >>用法及示例精选 >>正文


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