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
参数(因此可以指定列表)