[英]concatenate and remove duplicate element from numpy arrays
我在循环的每次迭代中计算一个索引数组,然后我想删除重复的元素并将计算的数组连接到前一个元素。 例如,第一次迭代给了我这个数组:
array([ 1, 6, 56, 120, 162, 170, 176, 179, 197, 204])
第二个:
array([ 29, 31, 56, 104, 162, 170, 176, 179, 197, 204])
等等。 我怎么能做到?
您可以先使用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]
您可以使用numpy.concatenate
和numpy.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])
numpy.union1d
是您正在寻找的 one-numpy 函数(在这种情况下)。
import numpy as np
print( np.union1d([ 1, 6,56,120,162,170,176,179,197,204],\
[29,31,56,104,162,170,176,179,197,204]) )
# result
[ 1 6 29 31 56 104 120 162 170 176 179 197 204]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.