Python 熊猫:从大量数字重复的数据帧中删除重复项

Python 熊猫:从大量数字重复的数据帧中删除重复项,python,pandas,dataframe,duplicates,Python,Pandas,Dataframe,Duplicates,我想去: --> 输入 输出 我编辑这篇文章是为了更好地解释。我有一个有两列的数据框(我们称之为M a和B)。列B有一个0-8之间的数字,通常会在数据帧的每个条目中连续重复。e、 g.0,0,0,2,2,8,8,6,6。在本例中,我希望删除大多数行,以便列B只读取0、2、8、6 我想我可以用一副复制品。但是,由于所有行都包含0-8之间的数字,因此它们都是重复的,因此所有行都将被删除。希望这次我解释得更好。试试这个: df = df[df[1]!=df.shift(-1)[1]] 这将保留第

我想去: -->

输入

输出

我编辑这篇文章是为了更好地解释。我有一个有两列的数据框(我们称之为M a和B)。列B有一个0-8之间的数字,通常会在数据帧的每个条目中连续重复。e、 g.0,0,0,2,2,8,8,6,6。在本例中,我希望删除大多数行,以便列B只读取0、2、8、6

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

试试这个:

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

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

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

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

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

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

尝试此-->df.drop_duplicates(keep='first',subset='column_name'])请尝试更好地描述您的问题,以便我们能够正确理解它。这里有一个简单的指南可以带你通过:我已经重新措辞,试图更好地解释它