Pandas:从重复的数据框中删除重复项

时间:2021-03-02 16:33:59

标签: python pandas dataframe duplicates

我正在尝试: From this --> to this

输入

From this

输出

to this

我正在编辑它以尝试更好地解释。我有一个包含两列的数据框(我们称之为 A 和 B)。 B 列有一个从 0 到 8 的数字,但通常会随着数据帧的每个条目连续重复。例如0, 0, 0, 2, 2, 2, 8, 8, 6, 6. 在这个例子中,我想删除大部分行,以便 B 列只读取 0, 2, 8, 6。

我以为我可以使用 drop_duplicates。但是,由于所有行都包含 0-8 之间的数字,因此它们都是重复的,因此所有行都将被删除。我希望这次我解释得更好。

2 个答案:

答案 0 :(得分:1)

试试这个:

df = df[df[1]!=df.shift(-1)[1]]

这将保留第二列中的值与前一行中的值不同的所有行。或者换句话说,它将删除第二列中与前一行具有相同值的所有行

答案 1 :(得分:0)

如果我理解正确,您只想使用 unique

newColA = df['colA'].unique()
newColB = df['colB'].unique()

new_df = pd.DataFrame([newColA, newColB]).T

有更好的解决方案,但我猜您正在寻找易于理解的东西;)