删除2d数组Python的重复项

时间:2016-12-21 15:03:46

标签: python arrays python-2.7 multidimensional-array

我有一个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

但它们都不起作用。如何从二维数组中删除重复项?

1 个答案:

答案 0 :(得分:-1)

问题是你试图一步到位。你需要分解它(EdChum几乎就在那里)

df = pd.DataFrame(data=a)
df = df.drop_duplicates(subset=a)

根据EdChum的评论,除非已创建数据框(df),否则此操作无效,否则我们无法将其作为子集引用。