我试图用同一列的第一个非空值来填充dataframe列的空值。
我要填写的数据框如下所示,并且我希望“id\u book”列的所有行都具有相同的编号
我尝试了以下方法,但仍然显示空值
w = Window.partitionBy('id_book').orderBy('id_book', 'date').rowsBetween(0,sys.maxsize)
filled_column = first(spark_df['id_book'], ignorenulls=True).over(w)
spark_df_filled = union_dias.withColumn('id_book_filled_spark', filled_column)
1条答案
按热度按时间6ss1mwsb1#
Windows应该是
因为你不想被
id_book
. 订购也没有意义id_book
因为只有日期的顺序才重要。我也认为最好的做法是
Window.unboundedFollowing
而不是sys.maxsize
.