大家好,又见面了,我是你们的朋友全栈君。
Python中numpy数组的合并有很多方法,如
np.append() np.concatenate() np.stack() np.hstack() np.vstack() np.dstack() 其中最泛用的是第一个和第二个。第一个可读性好,比较灵活,但是占内存大。第二个则没有内存占用大的问题。
假设有两个数组a,b分别为:
>>> a
array([0, 1, 2],
[3, 4, 5],
[6, 7, 8])
>>> b = a*2
>>> b
array([ 0, 2, 4],
[ 6, 8, 10],
[12, 14, 16])
>>> np.hstack((a,b))
array([ 0, 1, 2, 0, 2, 4], [ 3, 4, 5, 6, 8, 10], [ 6, 7, 8, 12, 14, 16]) >>> np.concatenate((a,b),axis=1) array([ 0, 1, 2, 0, 2, 4], [ 3, 4, 5, 6, 8, 10], [ 6, 7, 8, 12, 14, 16])
>>> np.vstack((a,b))
array([ 0, 1, 2], [ 3, 4, 5], [ 6, 7, 8], [ 0, 2, 4], [ 6, 8, 10], [12, 14, 16]) >>> np.concatenate((a,b),axis=0) array([ 0, 1, 2], [ 3, 4, 5], [ 6, 7, 8], [ 0, 2, 4], [ 6, 8, 10], [12, 14, 16])
>>> np.dstack((a,b))
array([[ 0, 0], [ 1, 2], [ 2, 4], [ 3, 6], [ 4, 8], [ 5, 10], [ 6, 12], [ 7, 14], [ 8, 16]])
一维数组:按列方向组合 二维数组:同hstack一样
以为数组:按行方向组合 二维数组:和vstack一样
>>> a==b
array([ True, False, False],
[False, False, False],
[False, False, False], dtype=bool)
#True那个因为都是0
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/148554.html原文链接:https://javaforall.cn