当前位置: 首页 > 科技观察

使用NumPy水平组合数组和垂直组合数组

时间:2023-03-18 22:57:08 科技观察

1水平数组组合hstack函数可以将两个或多个数组水平组合成一个数组,那么什么是数组水平组合呢?我们先来看一个例子。现在有两个3*2的数组A和B,ArrayA012345ArrayB678415现在使用hstack函数将两个数组水平合并代码如下。hstack(A,B)hstack函数的返回值就是合并后的结果。012678345415我们可以看到数组A和数B在水平方向上首尾相接,形成一个新的数组。这是数组的水平组合。多个阵列的水平组合具有类似的效果。但是数组的横向组合必须满足一个条件,即所有参与横向组合的数组的行数必须相同,否则进行横向组合时会抛出异常。下面的例子通过reshape方法和乘法运算创建了三个二维数组(行数相同),然后使用hstack函数对其中两个或三个数组进行横向合并。fromnumpyimport*a=arange(9).reshape(3,3)b=a*3print(a)print('----------------')print(b)print('----------------')c=a*5#a和b的横向组合print(hstack((a,b)))print('-----------------')#a,b和cprint的横向组合(hstack((a,b,c)))程序运行结果如图1所示。图1数组横向组合2数组垂直组合通过vstack函数可以将两个或多个数组垂直组合成一个数组,那么什么是数组垂直组合呢?我们先来看一个例子。现在有两个3*2的数组A和B。ArrayA012345ArrayB678415现在使用vstack函数将两个数组垂直合并。代码如下。vstack(A,B)vstack函数的返回值是合并后的结果。012345678415下面的例子通过reshape方法和乘法运算创建三个二维数组(行数相同),然后使用hstack函数将两个或三个横向合并的阵列。fromnumpyimport*a=arange(12).reshape(3,4)b=arange(16).reshape(4,4)c=arange(20).reshape(5,4)print(a)print('------------')print(b)print('------------')print(c)print('------------')#Verticalcombinationprint(vstack((a,b,c)))程序运行结果如图2所示。图2数组的垂直组合本文转载请联系极客源公众号。