我想在spark数据框上创建一列,并对两列进行操作。
我要创建列Areas
,该列的计算公式为:
( (Pct_Buenos_Acum[i]-Pct_Buenos_Acum[i-1]) * (Pct_Malos_Acum[i]+Pct_Malos_Acum[i-1]) ) / 2
我已经尝试过了:
w = Window.rowsBetween(Window.unboundedPreceding, Window.currentRow)
df= df.withColumn('Areas', (( ( col('Pct_Acum_buenos')-col('Pct_Acum_buenos' ) )*(col('Pct_Acum_malos')+col('Pct_Acum_malos')))/2).over(w))
答案 0 :(得分:1)
Here是一种访问pySpark中先前值的方法。顺其自然。
<div class='btnowwrap'>
<div class='btnow' id='btnow' title='SADA'>♻</div>
</div>