Python 从整个数据帧中删除重复值

Python 从整个数据帧中删除重复值,python,pandas,Python,Pandas,我有一个熊猫数据框架,如下所示 data = pd.DataFrame({'A':[1,2,3,1,23,3,76,2,45,76],'B':[12,56,22,45,1,3,98,79,77,67]}) 要从数据帧中删除重复值,我已经这样做了 set(data['A'].unique()).union(set(data['B'].unique())) 这导致了 set([1, 2, 3, 12, 76, 77, 79, 67, 22, 23, 98, 45, 56]) 有更好的方法吗?有

我有一个熊猫数据框架,如下所示

data = pd.DataFrame({'A':[1,2,3,1,23,3,76,2,45,76],'B':[12,56,22,45,1,3,98,79,77,67]})
要从数据帧中删除重复值,我已经这样做了

set(data['A'].unique()).union(set(data['B'].unique()))
这导致了

set([1, 2, 3, 12, 76, 77, 79, 67, 22, 23, 98, 45, 56])
有更好的方法吗?有没有一种方法可以通过使用
drop\u duplicates
来实现这一点

编辑:


另外,如果我还有两列“C”和“D”,但只需要从“A”和“B”中删除重复项,又会怎样呢?

如果您打算折叠此列

In [10]: np.unique(data.values.ravel())
Out[10]: array([ 1,  2,  3, 12, 22, 23, 45, 56, 67, 76, 77, 79, 98])
这也会起作用

In [12]: data.unstack().drop_duplicates()
Out[12]: 
A  0     1
   1     2
   2     3
   4    23
   6    76
   8    45
B  0    12
   1    56
   2    22
   6    98
   7    79
   8    77
   9    67
dtype: int64

如果你想拆散这个

In [10]: np.unique(data.values.ravel())
Out[10]: array([ 1,  2,  3, 12, 22, 23, 45, 56, 67, 76, 77, 79, 98])
这也会起作用

In [12]: data.unstack().drop_duplicates()
Out[12]: 
A  0     1
   1     2
   2     3
   4    23
   6    76
   8    45
B  0    12
   1    56
   2    22
   6    98
   7    79
   8    77
   9    67
dtype: int64

酷!如果我还有两列“C”和“D”,但只需要从“A”和“B”中删除重复项,该怎么办?
drop_duplicates
使用
cols
参数(因此您可以指定列表)很酷!如果我还有两列“C”和“D”,但只需要从“A”和“B”中删除重复项,该怎么办?
drop_duplicates
采用
cols
参数(因此可以指定列表)