如何用另一列填充列的值并保持存在?

时间:2018-07-18 18:44:57

标签: python pandas dataframe

我有一个包含两列的数据框['c1','c2'],并且我想用其对应的c2填充c1(如果存在),并且如果c1已经有一个值,请保留它请勿使用c2进行更改。这是一个示例:

输入

c1             c2
HP_0003470  
HP_8362789    HP_0093723
              MP_0000231
              MP_0000231

输出

c1             c2
HP_0003470  
HP_8362789    HP_0093723
MP_0000231    MP_0000231
MP_0000231    MP_0000231

这看起来很简单,但是我是python的初学者:( 请帮忙。

1 个答案:

答案 0 :(得分:1)

您可以这样做:

df['c1'] = df['c1'].replace('',np.NaN).fillna(df['c2'])
df['c2'] = df['c2'].replace('',np.NaN).fillna(df['c1'])

输出:

           c1          c2
0  HP_0003470  HP_0003470
1  HP_8362789  HP_0093723
2  MP_0000231  MP_0000231
3  MP_0000231  MP_0000231