Pyspark:添加从其他和时间转换派生的新列

时间:2017-10-11 13:01:18

标签: python-2.7 pyspark pyspark-sql

我有DataFrame#1,其中包含A,B,C年份,年终值和值:

 df = df.Withcolumn(...)

我想创建一个名为result

的新列
auth

Resutt将考虑开始和结束年份,以计算开始日期和开始日期之间每年B的平均值

如果开始日期= 2012 结束日期= 2014

那么结果将是(B2012 + B2013 + B2014)= 2 + 2 + 2/3 = 2

之和的平均值

一些建议?

谢谢

1 个答案:

答案 0 :(得分:0)

您可以使用具有两个条件的过滤器,然后使用聚合函数来计算平均值。

 df =  df.filter((x_df.year >= x_df.start_yr) &  (x_df.year <= x_df.end_yr))
 df.agg({"B":"mean"})