Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
返回与 ord 参数中的最大值关联的 col 参数中的值。 此函数通常用于查找与 groupBy(一起使用时每个组中的最大 ord 参数值对应的 col 参数值)。 该函数是不确定的,因此,与 col 相同的值关联的输出顺序可能有所不同。
Syntax
from pyspark.sql import functions as sf
sf.max_by(col, ord)
参数
| 参数 | 类型 | Description |
|---|---|---|
col |
pyspark.sql.Column 或列名 |
表示要返回的值的列。 可以是列实例或列名称作为字符串。 |
ord |
pyspark.sql.Column 或列名 |
需要最大化的列。 可以是列实例或列名称作为字符串。 |
退货
pyspark.sql.Column:一个列对象,表示与 col 最大值关联的值 ord。
例子
示例 1:将 max_by 与 groupBy 配合使用
import pyspark.sql.functions as sf
df = spark.createDataFrame([
("Java", 2012, 20000), ("dotNET", 2012, 5000),
("dotNET", 2013, 48000), ("Java", 2013, 30000)],
schema=("course", "year", "earnings"))
df.groupby("course").agg(sf.max_by("year", "earnings")).sort("course").show()
+------+----------------------+
|course|max_by(year, earnings)|
+------+----------------------+
| Java| 2013|
|dotNET| 2013|
+------+----------------------+
示例 2:对不同数据类型使用max_by
import pyspark.sql.functions as sf
df = spark.createDataFrame([
("Marketing", "Anna", 4), ("IT", "Bob", 2),
("IT", "Charlie", 3), ("Marketing", "David", 1)],
schema=("department", "name", "years_in_dept"))
df.groupby("department").agg(
sf.max_by("name", "years_in_dept")
).sort("department").show()
+----------+---------------------------+
|department|max_by(name, years_in_dept)|
+----------+---------------------------+
| IT| Charlie|
| Marketing| Anna|
+----------+---------------------------+
示例 3:使用max_by,其中 ord 具有多个最大值
import pyspark.sql.functions as sf
df = spark.createDataFrame([
("Consult", "Eva", 6), ("Finance", "Frank", 5),
("Finance", "George", 9), ("Consult", "Henry", 7)],
schema=("department", "name", "years_in_dept"))
df.groupby("department").agg(
sf.max_by("name", "years_in_dept")
).sort("department").show()
+----------+---------------------------+
|department|max_by(name, years_in_dept)|
+----------+---------------------------+
| Consult| Henry|
| Finance| George|
+----------+---------------------------+