How to implement sql coalesce in pandas

后端 未结 5 1544
Happy的楠姐
Happy的楠姐 2020-12-10 11:54

I have a data frame like

df = pd.DataFrame({\"A\":[1,2,np.nan],\"B\":[np.nan,10,np.nan], \"C\":[5,10,7]})
     A     B   C
0  1.0   NaN   5
1  2.0  10.0  10         


        
5条回答
  •  南笙
    南笙 (楼主)
    2020-12-10 12:40

    I think you need bfill with selecting first column by iloc:

    df['D'] = df.bfill(axis=1).iloc[:,0]
    print (df)
         A     B   C    D
    0  1.0   NaN   5  1.0
    1  2.0  10.0  10  2.0
    2  NaN   NaN   7  7.0
    

    same as:

    df['D'] = df.fillna(method='bfill',axis=1).iloc[:,0]
    print (df)
         A     B   C    D
    0  1.0   NaN   5  1.0
    1  2.0  10.0  10  2.0
    2  NaN   NaN   7  7.0
    

提交回复
热议问题