关于np.column_stack()里面1维数组使用[1维数据]之后的区别
np.column_stack()中的axis类似于np.hstack(tuple)。
关于np.hstack中的理解:Stack arrays in sequence horizontally (column wise)
np.hstack((a,b)),如果a、b是list,则在列上叠加;如果a、b是矩阵array,则在行相同时扩展列,行不变。参见官网例子
>>> a = np.array((1,2,3))
>>> b = np.array((2,3,4))
>>> np.hstack((a,b))
array([1, 2, 3, 2, 3, 4])
>>> a = np.array([[1],[2],[3]])
>>> b = np.array([[2],[3],[4]])
>>> np.hstack((a,b))
array([[1, 2],
[2, 3],
[3, 4]])
其中np.column_stack()与np.hstack()区别: 对于1d的list,会行不变列扩展;对于2d的array,如3*1的array或者list,一样是行不变列扩展。
# 一
a=[1, 2, 3]
b=[11, 22, 33]
np.column_stack((a,b))
Out[21]:
array([[ 1, 11],
[ 2, 22],
[ 3, 33]])
# 二
np.column_stack(([[1],[2],[3]],[[11],[12],[13]]))
Out[22]:
array([[ 1, 11],
[ 2, 12],
[ 3, 13]])
# 三
a_array = np.array([[1],[2],[3]])
b_array = np.array([[2],[3],[4]])
np.column_stack((a_array, b_array))
Out[26]:
array([[1, 2],
[2, 3],
[3, 4]])
import numpy as np
# np.array((1,2,3),(11,22,33))
a=[1,2,3];b=