gpt4 book ai didi

python - 如何计算分组的 Spark 数据框中的 bool 值

转载 作者:太空狗 更新时间:2023-10-29 17:26:54 27 4
gpt4 key购买 nike

我想计算分组的 Spark 数据框中的一列中有多少条记录为真,但我不知道如何在 python 中执行此操作。例如,我有一个包含 regionsalaryIsUnemployed 列的数据,其中 IsUnemployed 作为 bool 值。我想看看每个地区有多少失业人员。我知道我们可以做一个 filter 然后 groupby 但我想同时生成两个聚合,如下所示

from pyspark.sql import functions as F  
data.groupby("Region").agg(F.avg("Salary"), F.count("IsUnemployed"))

最佳答案

可能最简单的解决方案是带有 的普通 CAST(C 风格,其中 TRUE -> 1,FALSE -> 0)求和:

(data
.groupby("Region")
.agg(F.avg("Salary"), F.sum(F.col("IsUnemployed").cast("long"))))

更通用和惯用的解决方案是 CASE WHENCOUNT:

(data
.groupby("Region")
.agg(
F.avg("Salary"),
F.count(F.when(F.col("IsUnemployed"), F.col("IsUnemployed")))))

但这里显然是矫枉过正。

关于python - 如何计算分组的 Spark 数据框中的 bool 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35493722/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com