我有一个看起来像这样的数据框
Depth DT DT DT GR GR GR
1 100 NaN 45 NaN 100 50 NaN
2 200 NaN 45 NaN 100 50 NaN
3 300 NaN 45 NaN 100 50 NaN
4 400 NaN Nan 50 100 50 NaN
5 500 NaN Nan 50 100 50 NaN
如果有空值,我需要将同名列合并为一个,如果其他列不为空,则保留该列的首次出现。 最后,数据框应该看起来像
Depth DT GR
1 100 45 100
2 200 45 100
3 300 45 100
4 400 50 100
5 500 50 100
我是熊猫的初学者。我尝试过但没有成功。我尝试删除重复项,但无法完成我想要的操作。有什么建议吗?
答案 0 :(得分:0)
IIUC,您可以这样做:
(df.set_index('Depth')
.groupby(level=0, axis=1).first()
.reset_index())
输出:
Depth DT GR
0 100 45.0 100.0
1 200 45.0 100.0
2 300 45.0 100.0
3 400 50.0 100.0
4 500 50.0 100.0