堆叠数组-python数据处理

it2026-01-15  5

从深度看,数组既可以横向叠放,也可以竖向叠放。为此,可以使用vstack()、dstack()、hstack()、column_stack()、row_stack()和concatenate()等函数。 水平叠加:先介绍水平叠加方式,即用元组确定ndarrays数组的形状,然后交给hstack()函数来码放这些数组。

垂直叠加:使用垂直叠加方法时,先要构建一个元组,然后将这些元组交给vstack()函数来码放数组。

当参数axis设置为0时,concatenate()函数也会的带同样的效果。实际上,这是该参数的缺省值。

深度叠加:除此之外,还有一种深度叠加的方法,这要用到dstack()函数和一个元组。这种方法是沿着第三个坐标轴(纵向)的方向来叠加一摞数组。

列示堆叠:column_stack()函数以列方式对一堆数组进行堆叠。

用这种方法堆叠二维数组时,过程类似于hstack()函数。

以上实现堆叠数组的代码及运行结果如下所示: import numpy as np a = np.arange(9).reshape(3,3) a array([[0, 1, 2], [3, 4, 5], [6, 7, 8]]) b = 2 * a 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]]) ,axis=0 np.dstack((a,b)) array([[[ 0, 0], [ 1, 2], [ 2, 4]],

[[ 3, 6], [ 4, 8], [ 5, 10]], [[ 6, 12], [ 7, 14], [ 8, 16]]])

oned = np.arange(2) oned array([0, 1]) twice_oned twice_oned = 2 * oned twice_oned array([0, 2]) np.column_stack((oned,twice_oned)) array([[0, 0], [1, 2]]) np.column_stack((a,b)) array([[ 0, 1, 2, 0, 2, 4], [ 3, 4, 5, 6, 8, 10], [ 6, 7, 8, 12, 14, 16]]) np.column_stack((a,b)) == np.hstack((a,b)) array([[ True, True, True, True, True, True], [ True, True, True, True, True, True], [ True, True, True, True, True, True]]) ​我们此处用”==“运算符对两个数组进行了比对 对于二维数组,row_stack()函数相当于vstack()函数,代码如下: 还废什么话 要学就赶紧来加我吧 q2534659467

最新回复(0)