Apache spark Ffill和插值考拉数据帧
有可能在考拉数据框中插入和填充不同的列吗Apache spark Ffill和插值考拉数据帧,apache-spark,interpolation,missing-data,fill,spark-koalas,Apache Spark,Interpolation,Missing Data,Fill,Spark Koalas,有可能在考拉数据框中插入和填充不同的列吗 %%spark -s sparkenv2 kdf = ks.DataFrame({ 'id':[1,2,3,4], 'A': [None, 3, None, None], 'B': [2, 4, None, 3], 'C': [99, None, None, 1], 'D': [0, 1, 5, 4] }, columns=['id','A', 'B', 'C', 'D']) kdf['A']=
%%spark -s sparkenv2
kdf = ks.DataFrame({
'id':[1,2,3,4],
'A': [None, 3, None, None],
'B': [2, 4, None, 3],
'C': [99, None, None, 1],
'D': [0, 1, 5, 4]
},
columns=['id','A', 'B', 'C', 'D'])
kdf['A']=kdf['A'].ffill()
kdf['B']=kdf['B'].interpolate()
我没有插值的答案——我自己还在努力寻找
PS-通过在(0,max.size)之间更改行并使用first()而不是last(),可以切换到回填。
我没有插值的答案——我自己还在努力寻找
PS-通过在(0,max.size)之间更改行并使用first()而不是last(),可以切换到回填
from pyspark.sql import Window
from pyspark.sql.functions import last
spark_df = kdf.to_spark()
# define the window
window = Window.orderBy('id').rowsBetween(-sys.maxsize, 0)
# define the forward-filled column
filled_column = last(spark_df['A'], ignorenulls=True).over(window)
# do the fill
spark_df_filled = spark_df.withColumn('A_filled', filled_column)