numpy.dstack() 是一个将多个数组沿着第三维(即 z 轴)堆叠的函数。它将一组数组组合成一个新的数组,每个数组的形状必须相同(除了第三维)。简单来说,就是把多个数组“叠”在一起,形成一个新的三维数组。本文主要介绍一下NumPy中dstack方法的使用。

numpy.dstack

numpy.dstack(tup)      [source]

沿深度方向(沿第三轴)按顺序Stack数组。

这相当于在形状(M,N)的二维数组被重塑为(M,N,1)和形状(N,)的一维数组被重塑为(1,N,1)之后沿第三轴的连接。重新构建按dsplit分割的数组。

这个函数对于3维以下的数组最有意义。例如,对于具有高度(第一个轴)、宽度(第二个轴)和r/g/b通道(第三个轴)的像素数据。函数concatenate, stackblock提供了更一般的堆叠和连接操作。

参数 :

tup :arrays的sequence

除第三个轴外,所有阵列的形状都必须相同。

 一维或二维阵列必须具有相同的形状。

返回值 :

stackedndarray

通过堆叠给定阵列形成的阵列将至少为3D。

例子

1)使用 dstack 将两个数组堆叠

import numpy as np

# 创建两个 2D 数组
arr1 = np.array([[1, 2], [3, 4]])
arr2 = np.array([[5, 6], [7, 8]])

# 使用 dstack 将两个数组堆叠
result = np.dstack((arr1, arr2))

print(result)

2)使用 dstack 将这三个数组堆叠

import numpy as np


# 创建三个 1D 数组
arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
arr3 = np.array([7, 8, 9])

# 使用 dstack 将这三个数组堆叠
result = np.dstack((arr1, arr2, arr3))

print(result)

推荐文档

相关文档

大家感兴趣的内容

随机列表