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)