📅  最后修改于: 2023-12-03 15:24:19.379000             🧑  作者: Mango
在 PySpark 中,可以通过使用agg()
函数来对数据框中的列进行聚合操作。以下是一个示例,展示如何在 PySpark 数据框中找到特定列的总和。
假设我们有以下数据框:
from pyspark.sql.functions import sum
from pyspark.sql import SparkSession
spark = SparkSession.builder.appName("Example").getOrCreate()
# 创建示例数据框
data = [("Alice", 1), ("Bob", 2), ("Charlie", 3), ("Dave", 4)]
columns = ["Name", "Number"]
df = spark.createDataFrame(data = data, schema = columns)
df.show()
这将输出以下结果:
+-------+------+
| Name|Number|
+-------+------+
| Alice| 1|
| Bob| 2|
|Charlie| 3|
| Dave| 4|
+-------+------+
要找到Number
列的总和,需要使用agg()
函数和sum()
函数。以下是一个示例:
# 找到 Number 列的总和
result = df.agg(sum('Number')).collect()[0][0]
print("Sum of Number column:", result)
这将输出以下结果:
Sum of Number column: 10
在上面的代码中,我们使用了agg()
函数,并传递了sum('Number')
作为参数来对Number
列进行求和。然后我们调用了collect()
函数来收集结果,并使用[0][0]
来获取第一个元素中的总和值。
总之,通过使用agg()
和sum()
函数,我们可以很容易地找到 PySpark 数据框中特定列的总和。
from pyspark.sql.functions import sum
from pyspark.sql import SparkSession
spark = SparkSession.builder.appName("Example").getOrCreate()
# 创建示例数据框
data = [("Alice", 1), ("Bob", 2), ("Charlie", 3), ("Dave", 4)]
columns = ["Name", "Number"]
df = spark.createDataFrame(data = data, schema = columns)
df.show()
# 找到 Number 列的总和
result = df.agg(sum('Number')).collect()[0][0]
print("Sum of Number column:", result)