通过


最大值

返回组中表达式的最大值。 计算期间忽略 Null 值。 NaN 值大于任何其他数值。

Syntax

from pyspark.sql import functions as sf

sf.max(col)

参数

参数 类型 Description
col pyspark.sql.Column 或列名 计算最大值的目标列。

退货

pyspark.sql.Column:包含计算的最大值的列。

例子

示例 1:计算数值列的最大值

import pyspark.sql.functions as sf
df = spark.range(10)
df.select(sf.max(df.id)).show()
+-------+
|max(id)|
+-------+
|      9|
+-------+

示例 2:计算字符串列的最大值

import pyspark.sql.functions as sf
df = spark.createDataFrame([("A",), ("B",), ("C",)], ["value"])
df.select(sf.max(df.value)).show()
+----------+
|max(value)|
+----------+
|         C|
+----------+

示例 3:计算分组数据帧中列的最大值

import pyspark.sql.functions as sf
df = spark.createDataFrame([("A", 1), ("A", 2), ("B", 3), ("B", 4)], ["key", "value"])
df.groupBy("key").agg(sf.max(df.value)).show()
+---+----------+
|key|max(value)|
+---+----------+
|  A|         2|
|  B|         4|
+---+----------+

示例 4:计算分组数据帧中多个列的最大值

import pyspark.sql.functions as sf
df = spark.createDataFrame(
    [("A", 1, 2), ("A", 2, 3), ("B", 3, 4), ("B", 4, 5)], ["key", "value1", "value2"])
df.groupBy("key").agg(sf.max("value1"), sf.max("value2")).show()
+---+-----------+-----------+
|key|max(value1)|max(value2)|
+---+-----------+-----------+
|  A|          2|          3|
|  B|          4|          5|
+---+-----------+-----------+

示例 5:计算具有 null 值的列的最大值

import pyspark.sql.functions as sf
df = spark.createDataFrame([(1,), (2,), (None,)], ["value"])
df.select(sf.max(df.value)).show()
+----------+
|max(value)|
+----------+
|         2|
+----------+

示例 6:使用“NaN”值计算列的最大值

import pyspark.sql.functions as sf
df = spark.createDataFrame([(1.1,), (float("nan"),), (3.3,)], ["value"])
df.select(sf.max(df.value)).show()
+----------+
|max(value)|
+----------+
|       NaN|
+----------+