Python 从numpy数组中连接并删除重复元素
我在循环的每次迭代中计算一个索引数组,然后我想删除重复的元素,并将计算出的数组连接到上一个数组。 例如,第一次迭代为我提供了以下数组:Python 从numpy数组中连接并删除重复元素,python,arrays,numpy,duplicates,concatenation,Python,Arrays,Numpy,Duplicates,Concatenation,我在循环的每次迭代中计算一个索引数组,然后我想删除重复的元素,并将计算出的数组连接到上一个数组。 例如,第一次迭代为我提供了以下数组: array([ 1, 6, 56, 120, 162, 170, 176, 179, 197, 204]) 第二个: array([ 29, 31, 56, 104, 162, 170, 176, 179, 197, 204]) 等等。我该怎么做呢?您可以先使用numpy连接数组。连接然后使用np.unique import numpy as
array([ 1, 6, 56, 120, 162, 170, 176, 179, 197, 204])
第二个:
array([ 29, 31, 56, 104, 162, 170, 176, 179, 197, 204])
等等。我该怎么做呢?您可以先使用
numpy连接数组。连接
然后使用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]
您可以使用和:
@罗恩,它删除了重复的号码,我想保留它们。看起来你比我快了。
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])