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


Python PySpark SQL Functions min方法用法及代碼示例


PySpark SQL 函數的 min(~) 方法返回指定列中的最小值。

參數

1.col | stringColumn

要獲取最小值的列。

返回值

PySpark 列 (pyspark.sql.column.Column)。

例子

考慮以下PySpark DataFrame:

df = spark.createDataFrame([["Alex", 25], ["Bob", 30]], ["name", "age"])
df.show()



+----+---+
|name|age|
+----+---+
|Alex| 25|
| Bob| 30|
+----+---+

獲取 PySpark 列的最小值

要獲得最小值age

import pyspark.sql.functions as F
df.select(F.min("age")).show()



+--------+
|min(age)|
+--------+
|      25|
+--------+

要獲取整數形式的最小值:

list_rows = df.select(F.min("age")).collect()
list_rows[0][0]



25

請注意以下事項:

  • collect() 方法將 select(~) 返回的 PySpark DataFrame 轉換為 Row 對象列表。

  • 當我們應用 min(~) 方法時,該列表的長度始終為 1。

  • 可以使用 [0] 訪問 Row 對象的內容。

獲取PySpark中每組的最小值

考慮以下PySpark DataFrame:

df = spark.createDataFrame([["Alex", 20, "A"],\
                            ["Bob", 30, "B"],\
                            ["Cathy", 50, "A"]],
                            ["name", "age", "class"])
df.show()



+-----+---+-----+
| name|age|class|
+-----+---+-----+
| Alex| 20|    A|
|  Bob| 30|    B|
|Cathy| 50|    A|
+-----+---+-----+

要獲得每個 class 的最小 age

df.groupby("class").agg(F.min("age").alias("MIN AGE")).show()



+-----+-------+
|class|MIN AGE|
+-----+-------+
|    A|     20|
|    B|     30|
+-----+-------+

此處,alias(~) 方法用於為聚合的 age 列分配標簽。

相關用法


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