如何合并熊猫数据框中的行

时间:2021-02-15 15:26:51

标签: python pandas dataframe merge duplicates

我有一个看起来像这样的数据框。我通过合并我已经拥有的具有所有相同标头的两个数据帧来获得它。问题是我有一些行出现在两个数据框中,需要将它们组合起来。

<头>
索引 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() 哪个删除了我的一些行,但没有一个是重复的?

1 个答案:

答案 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