我有一个2d数组。当我向数组添加更多值时,某些值是重复的。我怎样才能删除这些?我的aray,命名为:看起来像这样:
[[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
但它们都不起作用。如何从二维数组中删除重复项?
答案 0 :(得分:-1)
问题是你试图一步到位。你需要分解它(EdChum几乎就在那里)
df = pd.DataFrame(data=a)
df = df.drop_duplicates(subset=a)
根据EdChum的评论,除非已创建数据框(df),否则此操作无效,否则我们无法将其作为子集引用。