使用Combine_first():
In [16]: df = pd.Dataframe(np.random.randint(0, 10, size=(10, 2)), columns=list('ab'))In [17]: df.loc[::2, 'a'] = np.nanIn [18]: dfOut[18]: a b0 NaN 01 5.0 52 NaN 83 2.0 84 NaN 35 9.0 46 NaN 77 2.0 08 NaN 69 2.0 5In [19]: df['c'] = df.a.combine_first(df.b)In [20]: dfOut[20]: a b c0 NaN 0 0.01 5.0 5 5.02 NaN 8 8.03 2.0 8 2.04 NaN 3 3.05 9.0 4 9.06 NaN 7 7.07 2.0 0 2.08 NaN 6 6.09 2.0 5 2.0


