答案 0 :(得分:1)
在C列中,插入:
=IF(A1="",B1,A1)
答案 1 :(得分:1)
这是一个熊猫解决方案
import pandas as pd
df_b = pd.DataFrame({'col':[1,2,np.NaN,4,5,np.NaN,np.NaN,8,9,10]})
df_c = pd.DataFrame({'col':[111,112,113,114,115,116,117,118,119,110]})
>>>df_b.combine_first(df_c)
col
0 1.0
1 2.0
2 113.0
3 4.0
4 5.0
5 116.0
6 117.0
7 8.0
8 9.0
9 10.0
注意,请密切注意我在设置中使用的列标签。 combine_first()
函数必须自动工作。
答案 2 :(得分:1)
我将为熊猫制作一个版本,以防万一有人希望用python完成所有操作。 该技术是填充。 下面的代码:
import pandas as pd
import numpy as np
df = pd.DataFrame({
'A':[1,2,None,4,5,None,None,8,9,10],
'B':[111,112,113,114,115,116,117,118,119,110]
})
df['D'] = df.bfill(axis=1).iloc[:,0]
df
结果如下:
A B D
0 1.0 111 1.0
1 2.0 112 2.0
2 NaN 113 113.0
3 4.0 114 4.0
4 5.0 115 5.0
5 NaN 116 116.0
6 NaN 117 117.0
7 8.0 118 8.0
8 9.0 119 9.0
9 10.0 110 10.0
答案 3 :(得分:0)
所以尝试一下:
=IFERROR(IF(A1="",B1,A1),"error")
iferror将处理一些可能的错误。