数据
Col1 Col2 result
0 a x 123.0
1 a y NaN
2 a x 453.0
3 a y 675.0
4 b z 786.0
5 b z 332.0
我想用675.0填充NaN,首先按col1分组,然后按col2分组,然后填充NaN值
在熊猫中
df['result'] = df['result'].fillna(df.groupby(['col1', 'col2', ])['result'].bfill())
df['result'] = df['result'].fillna(df.groupby(['col1', 'col2', ])['result'].ffill())
如何在pyspark中实现它
您可以使用
nanvl
将NaN
替换为结果的lead
值(相当于ffill
;bfill
将是lag
):这可以通过pandas udfs完成。然后你可以直接使用你想要的功能
相关问题 更多 >
编程相关推荐