📅  最后修改于: 2023-12-03 15:40:22.515000             🧑  作者: Mango
在 PySpark 中,我们可以使用 agg()
函数和 min()
、max()
、mean()
函数来查找 DataFrame 中特定列的最小值、最大值和平均值。
以下是一个示例 DataFrame:
from pyspark.sql.functions import col
from pyspark.sql.types import IntegerType
data = [("Alice", 25, 3000),
("Bob", 30, 4500),
("Charlie", 35, 5000),
("Dave", 40, 6000)]
df = spark.createDataFrame(data, schema=["Name", "Age", "Salary"])
要查找 Salary
列的最小值、最大值和平均值,可以使用以下代码:
from pyspark.sql.functions import min, max, mean
min_salary = df.agg(min(col("Salary"))).collect()[0][0]
max_salary = df.agg(max(col("Salary"))).collect()[0][0]
avg_salary = df.agg(mean(col("Salary"))).collect()[0][0]
print("Minimum Salary:", min_salary)
print("Maximum Salary:", max_salary)
print("Average Salary:", avg_salary)
这将输出以下内容:
Minimum Salary: 3000
Maximum Salary: 6000
Average Salary: 4625.0
请注意,agg()
函数将 DataFrame 转换为已聚合的 DataFrame,因此我们需要使用 collect()
函数来获取聚合值。