我有一个看起来像这样的数据框。我通过合并我已经拥有的具有所有相同标头的两个数据帧来获得它。问题是我有一些行出现在两个数据框中,需要将它们组合起来。
索引 | K | e_K | V | e_V |
---|---|---|---|---|
1 | 2 | 5 | 6 | |
2 | 1 | 2 | 5 | |
3 | 2 | 3 | 2 | |
4 | 3 | 2 | 4 | |
5 | 5 |
因此需要合并第 1 行和第 2 行,以及第 3 行和第 4 行。(我也有很多缺失数据的行,例如第 5 行,我需要保留)。
预期输出:
索引 | K | e_K | V | e_V |
---|---|---|---|---|
1 | 1 | 2 | 5 | 6 |
3 | 2 | 3 | 2 | 4 |
5 | 5 |
我尝试合并使用: df = df.groupby(['e_K', 'V']).first().reset_index() 哪个删除了我的一些行,但没有一个是重复的?
答案 0 :(得分:0)
试试这个 -
a = [[None,1,2,None],
[3,1,2,None],
[3,1,2,5],
[None,5,2,1]]
df = pd.DataFrame(a)
cols_bool = df.notna().all(0)
uniques = df.iloc[df.loc[:,cols_bool].drop_duplicates().index]
print(uniques)
0 1 2 3
0 NaN 1 2 NaN
3 NaN 5 2 1.0