【问题标题】:How to get average of similar named columns in pyspark dataframe?如何获取 pyspark 数据框中相似命名列的平均值?
【发布时间】:2023-02-21 01:07:47
【问题描述】:

我有 12 列数据,其中包含每个客户 12 个月的余额,如下所示,如何创建一个包含 12 个月余额平均值的附加列(b0 到 b11)。

customer b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 avg_bal
cust_1 20 30 null null null null null null null null null null 25
cust_2 3 3 3 3 3 3 3 3 3 3 3 3 3
cust_3 null null null null null null null null null 50 30 10 30
cust_4 null null null null null null null null null null null null null

我想要一个基于列名的通用代码,谢谢。

【问题讨论】:

  • “具有基于列名的通用代码”是什么意思?您始终可以编写一个函数来获取列列表并对它们进行平均计算。或者您是否想要以某种方式确定哪些列应该被平均的代码?如果是,那么这就是您需要解决的一组完全不同的问题。

标签: apache-spark pyspark apache-spark-sql


【解决方案1】:

我以为我们只需要对列进行 nvl 并将它们相加,然后除以 12。像这样: (nvl(b0,0) + nvl(b1,0) + ... nvl(b11,0)))/12

是我太天真了吗?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-10-12
    • 1970-01-01
    • 2019-05-23
    • 1970-01-01
    • 2019-12-06
    • 1970-01-01
    • 2023-02-09
    相关资源
    最近更新 更多