我有两个大小为4,1,2
的数组 array1 [[[ 1. 2.]]
[[ 3. 4.]]
[[ 5. 6.]]
[[ 7. 8.]]]
array2 [[[ 8. 4.]]
[[ 7. 3.]]
[[ 6. 2.]]
[[ 5. 1.]]]
我需要将它们放入一个看起来像
的数组中 merged [[[ 1. 2.]]
[[ 3. 4.]]
[[ 5. 6.]]
[[ 7. 8.]]
[[ 8. 4.]]
[[ 7. 3.]]
[[ 6. 2.]]
[[ 5. 1.]]]
然后我需要找到column1和column2的最小值和最大值。我有这个,但似乎没有做我认为应该做的事情。
mergedArray = concatenate((array1,array2),axis=1)
x_min = np.amin(mergedArray[:,0])
x_max = np.amax(mergedArray[:,0])
y_min = np.amin(mergedArray[:,1])
y_max = np.amax(mergedArray[:,1])
有更好的方法吗?
答案 0 :(得分:0)
我很想去掉额外的'维度第一,保持后续代码简单。
初始化数组:
>>> array1 = np.array([[[1, 2]], [[3, 4]], [[5, 6]], [[7, 8]]])
>>> array2 = np.array([[[8, 4]], [[7, 3]], [[6, 2]], [[5, 1]]])
>>> array1
array([[[1, 2]],
[[3, 4]],
[[5, 6]],
[[7, 8]]])
简化数组:
>>> array1b = array1[:,0,:]
>>> array2b = array2[:,0,:]
>>> array1b
array([[1, 2],
[3, 4],
[5, 6],
[7, 8]])
连接和最小/最大现在变得更简单了:
>>> merged = np.concatenate((array1b, array2b))
>>> merged
array([[1, 2],
[3, 4],
[5, 6],
[7, 8],
[8, 4],
[7, 3],
[6, 2],
[5, 1]])
>>> np.amin(merged, axis=1)
array([1, 3, 5, 7, 4, 3, 2, 1])
这能满足您的需求吗?