我有一个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' ?
答案 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