[英]replacing one column with another column but not missing value
我有一个数据框
name g1 g2
a 1 1
a 0 na
a 1 3
b 1 na
b 2 na
b 3 4
c 4 na
我想将 g2 值移动到 g1 而不移动 na 返回的列应该是
name g1 g2
a 1 1
a 0 na
a 3 3
b 1 na
b 2 na
b 4 4
c 4 na
我使用了df.replace(g1, g2),
但这也会移动 NA。 有没有人不移动NA
这是一种方法:
data = [['a', '1', '1'], ['a', '0', np.nan], ['a', '1', '3'], ['b', '1', np.nan],
['b', '2', np.nan], ['b', '3', '4'], ['c', '4', np.nan]]
df = pd.DataFrame(data, columns=['name', 'g1', 'g2'])
df['g1'] = df['g2'].fillna(df['g1'])
print(df)
输出:
name g1 g2
0 a 1 1
1 a 0 NaN
2 a 3 3
3 b 1 NaN
4 b 2 NaN
5 b 4 4
6 c 4 NaN
您可以使用notna
检查:
df.loc[df['g2'].notna(), 'g1'] = df['g2']
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.