📌  相关文章
📜  如何在 PySpark 数据框中找到特定列的总和(1)

📅  最后修改于: 2023-12-03 15:24:19.379000             🧑  作者: Mango

在 PySpark 数据框中找到特定列的总和

在 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)