如何有条件设置列值



我希望我的代码先查看第一列。如果该行有一个有效的数字,请将该值作为Col 3值。如果没有,第二个选择是将Col 2的值作为Col 3中的值。是否有可以执行此操作的函数?

     COL1  COL2  COL3
0     1     2
1    nan    4
2     3    nan
3     4     8
4    nan    10
5     6    nan
     COL3   
0     1    
1     4   
2     3   
3     4   
4     10
5     6

尝试此

df['col 3'] = np.where(df['col 1'].isnull(),df['col 2'],df['col 1'])

iiuc:

df['COL3'] = df.bfill(axis=1)['COL1']

给出:

   COL1  COL2  COL3
0   1.0   2.0   1.0
1   NaN   4.0   4.0
2   3.0   NaN   3.0
3   4.0   8.0   4.0
4   NaN  10.0  10.0
5   6.0   NaN   6.0

最新更新