在pandas中删除所有列中具有相同值的重复行

5

我有一个数据框,大约有五十万行。据我所见,有很多重复的行,那么如何删除所有列(大约80列)中具有相同值的重复行,而不仅仅是一列?

数据框:

period_start_time    id    val1    val2    val3
06.13.2017 22:00:00  i53    32      2       10
06.13.2017 22:00:00  i32    32      2       10
06.13.2017 22:00:00  i32    4       2       8
06.13.2017 22:00:00  i32    4       2       8
06.13.2017 22:00:00  i32    4       2       8
06.13.2017 22:00:00  i20    7       7       22
06.13.2017 22:00:00  i20    7       7       22

期望输出:

period_start_time    id    val1    val2    val3
06.13.2017 22:00:00  i53    32      2       10
06.13.2017 22:00:00  i32    32      2       10
06.13.2017 22:00:00  i32    4       2       8
06.13.2017 22:00:00  i20    7       7       22

你尝试过调用 df.drop_duplicates() 吗? - EdChum
1个回答

12

使用drop_duplicates函数:

df = df.drop_duplicates()
print (df)
     period_start_time   id  val1  val2  val3
0  06.13.2017 22:00:00  i53    32     2    10
1  06.13.2017 22:00:00  i32    32     2    10
2  06.13.2017 22:00:00  i32     4     2     8
5  06.13.2017 22:00:00  i20     7     7    22

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接