我有一个在窗口中划分的数据集:
data_new_pd = (
data_pd
.filter(col('x') > 1)
.filter(col('x') < 21)
.withColumn('row', row_number().over(Window.partitionBy('a', 'b').orderBy('timestamp')))
.filter(col('row') == 1)
.toPandas()
)
分区的窗户长度不一样。
现在我想在上面看到的定义窗口上添加以下循环
# Make a new column
data_new_pd["temp_filter"] = 0
# Keep the latest value of the temperature column when column 'overshoot' = 0
last_temperature = None
for index, row in data_new_pd.iterrows():
if row["overshoot"] == 0:
last_temperature = row["temperature"]
data_new_pd.at[index, "temp_filter"] = last_temperature
我尝试添加具有某些条件的新列,但它没有给我正确的结果。