从整个数据框中删除重复值

时间:2014-03-21 14:25:22

标签: python pandas

我有一个Pandas DataFrame如下;

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_duplicates来实现这一目标?

编辑:

另外,如果我还有两列,那么怎么办呢?C' &安培; ' d'但是只需要从A' A'中删除重复项。 &安培; ' B' ?

1 个答案:

答案 0 :(得分:4)

如果你打算折叠这个

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