在 Numpy 中垂直(按行)依次堆叠数组


要按顺序垂直(按行)堆叠数组,请在 Python Numpy 中使用 **ma.row_stack()** 方法。这等效于在将形状为 (N,) 的一维数组重塑为 (1,N) 后沿第一个轴进行连接。重建由 vsplit 分割的数组。返回由堆叠给定数组形成的数组,将至少为二维。

对于最多 3 维的数组,此函数最有用。例如,对于具有高度(第一个轴)、宽度(第二个轴)和 r/g/b 通道(第三个轴)的像素数据。函数 concatenate、stack 和 block 提供更通用的堆叠和连接操作。它应用于 _data 和 _mask(如果有)。

参数是必须沿除第一个轴之外的所有轴具有相同形状的数组。一维数组必须具有相同的长度。

步骤

首先,导入所需的库 -

import numpy as np
import numpy.ma as ma

使用 array() 方法创建一个新数组 -

arr = np.array([[200], [300], [400], [500]])
print("Array...
", arr)

数组的类型 -

print("
Array type...
", arr.dtype)

获取数组的维度 -

print("
Array Dimensions...
",arr.ndim)

要按顺序垂直(按行)堆叠数组,请使用 ma.row_stack() 方法 -

resArr = np.ma.row_stack (arr)

结果数组 -

print("
Result...
", resArr)

示例

# Python ma.MaskedArray - Stack arrays in sequence vertically (row wise)

import numpy as np
import numpy.ma as ma

# Create a new array using the array() method
arr = np.array([[200], [300], [400], [500]])
print("Array...
", arr) # Type of array print("
Array type...
", arr.dtype) # Get the dimensions of the Array print("
Array Dimensions...
",arr.ndim) # To stack arrays in sequence vertically (row wise), use the ma.row_stack() method in Python Numpy resArr = np.ma.row_stack (arr) # Resultant Array print("
Result...
", resArr)

输出

Array...
[[200]
[300]
[400]
[500]]

Array type...
int64

Array Dimensions...
2

Result...
[[200]
[300]
[400]
[500]]

更新于: 2022-02-03

2K+ 次查看

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告