【问题标题】:concatenate and remove duplicate element from numpy arrays从 numpy 数组中连接并删除重复元素
【发布时间】:2014-09-03 22:31:07
【问题描述】:

我在循环的每次迭代中计算一个索引数组,然后我想删除重复的元素并将计算的数组连接到前一个数组。 例如,第一次迭代给了我这个数组:

array([  1,   6,  56, 120, 162, 170, 176, 179, 197, 204])

第二个:

array([ 29,  31,  56, 104, 162, 170, 176, 179, 197, 204]) 

等等。我该怎么办?

【问题讨论】:

标签: python arrays numpy duplicates concatenation


【解决方案1】:

您可以先使用numpy.concatenate 连接数组,然后使用np.unique

import numpy as np
a=np.array([1,6,56,120,162,170,176,179,197,204])
b=np.array([29,31,56,104,162,170,176,179,197,204])
new_array = np.unique(np.concatenate((a,b),0))

print new_array

结果:

[  1   6  29  31  56 104 120 162 170 176 179 197 204]

【讨论】:

  • 看起来你打败了我。
【解决方案2】:

您可以使用numpy.concatenatenumpy.unique

In [81]: arr = np.array([  1,   6,  56, 120, 162, 170, 176, 179, 197, 204])

In [82]: arr = np.unique(np.concatenate((arr, np.array([ 29,  31,  56, 104, 162, 170, 176, 179, 197, 204]))))

In [83]: arr
Out[83]: array([  1,   6,  29,  31,  56, 104, 120, 162, 170, 176, 179, 197, 204])

【讨论】:

    猜你喜欢
    • 2016-07-13
    • 1970-01-01
    • 2013-03-22
    • 1970-01-01
    • 1970-01-01
    • 2013-05-20
    • 2011-07-03
    • 1970-01-01
    相关资源
    最近更新 更多