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.min_by(col, ord)
参数
| 参数 | 类型 | Description |
|---|---|---|
col |
pyspark.sql.Column 或列名 |
表示将返回的值的列。 可以是列实例或列名称作为字符串。 |
ord |
pyspark.sql.Column 或列名 |
需要最小化的列。 可以是列实例或列名称作为字符串。 |
退货
pyspark.sql.Column:表示与最小值col关联的值的ord列对象。
例子
示例 1:将 min_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.min_by("year", "earnings")).sort("course").show()
+------+----------------------+
|course|min_by(year, earnings)|
+------+----------------------+
| Java| 2012|
|dotNET| 2012|
+------+----------------------+
示例 2:对不同数据类型使用min_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.min_by("name", "years_in_dept")
).sort("department").show()
+----------+---------------------------+
|department|min_by(name, years_in_dept)|
+----------+---------------------------+
| IT| Bob|
| Marketing| David|
+----------+---------------------------+
示例 3:使用min_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.min_by("name", "years_in_dept")
).sort("department").show()
+----------+---------------------------+
|department|min_by(name, years_in_dept)|
+----------+---------------------------+
| Consult| Eva|
| Finance| Frank|
+----------+---------------------------+