在PySpark中,可以使用GroupBy操作对数据进行分组,并对每个组应用聚合函数。如果我们想要获取GroupBy之后另一列的最小值和最大值,可以按照以下步骤进行操作:
from pyspark.sql import SparkSession
from pyspark.sql.functions import col, min, max
spark = SparkSession.builder.getOrCreate()
data = [("A", 10), ("A", 20), ("B", 15), ("B", 25), ("C", 5)]
df = spark.createDataFrame(data, ["group", "value"])
result = df.groupBy("group").agg(min("value").alias("min_value"), max("value").alias("max_value"))
在上述代码中,我们使用groupBy("group")
对"group"列进行分组,然后使用agg(min("value").alias("min_value"), max("value").alias("max_value"))
对"value"列应用min和max函数,并将结果分别命名为"min_value"和"max_value"。
result.show()
输出结果类似于:
+-----+---------+---------+
|group|min_value|max_value|
+-----+---------+---------+
| B| 15| 25|
| C| 5| 5|
| A| 10| 20|
+-----+---------+---------+
在结果中,每个组的最小值和最大值被显示出来。
对于PySpark中GroupBy之后另一列的最小值和最大值的获取,可以使用上述方法进行操作。这种方法适用于各种数据集和应用场景。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云