【发布时间】:2017-05-07 01:22:57
【问题描述】:
我有一个二维数组。当我向数组添加更多值时,一些值是重复的。我怎样才能删除这些?我的 aray,名为 a: 看起来像这样:
[[u'82', <a href="/12222/">Button</a>], [u'67', <a href="/12333/">Button</a>], [u'23', <a href="/12344/">Button</a>], [u'19', <a href="/12345/">Button</a>], [u'23', <a href="/12344/">Button</a>]]
我试过了
import numpy as np
def unique(a):
order = np.lexsort(a.T)
a = a[order]
diff = np.diff(a, axis=0)
ui = np.ones(len(a), 'bool')
ui[1:] = (diff != 0).any(axis=1)
return a[ui]
和
[list(t) for t in set(tuple(element) for element in a)]
和
from pandas import *
import numpy as np
a = np.array([[1, 1], [2, 3], [1, 1], [5, 4], [2, 3]])
DataFrame(a).drop_duplicates().values
但它们都不起作用。如何从二维数组中删除重复项?
【问题讨论】:
-
我在你的
a中没有看到重复,drop_duplicates(subset='a')应该可以工作 -
@EdChum,是的,但是必须先创建数据框,然后才能将其作为子集引用。 OP 试图一步完成这一切,这就是它失败的原因。
标签: python arrays python-2.7 multidimensional-array