📜  Numpy MaskedArray.reshape()函数| Python(1)

📅  最后修改于: 2023-12-03 15:18:02.920000             🧑  作者: Mango

Numpy MaskedArray.reshape()函数

简介:

MaskedArray.reshape()是Numpy库中的函数,用于将Numpy的MaskedArray数组重新变形为指定尺寸的新数组。

通常情况下,Numpy的MaskedArray数组是采用按顺序展开的方式存储数据的。即将多维数组转化为一维数组。使用reshape()函数可以将一维数组重新构造成多维数组。此外,对于遮挡值,该函数将新数组中的值设置为遮挡值。

语法:
numpy.ma.reshape(array, newshape, order='C')

参数说明:

  • array:需要改变形状的多维数组,必须是MaskedArray类型。
  • newshape:重构后的新尺寸,必须和原始数据中的元素数量相同。
  • order='C': 指定从最外层的维开始读取数组的顺序。默认为C表示用C语言的顺序分配存储区。
返回值:

返回一个根据新形状重新变形的遮挡阵列。

示例:
import numpy as np

# 创建一个一维MaskedArray数组
a = np.ma.array([1, 2, 3, 4, 5], mask=[False, False, True, False, False])

# 构建2行3列的遮挡阵列
b = a.reshape((2, 3))
print(b)  # [[1 2 --][4 5 --]]

# 构建3行2列的遮挡阵列,遮挡值为0
c = a.reshape((3, 2), order='F').filled(0)
print(c)  # [[1 0] [2 0] [3 4]]

在上述示例中,首先创建一个一维遮挡阵列数组a,其中第3个元素被遮挡。然后使用reshape()函数将数组a变成一个2×3的遮挡阵列,reshape((2,3))。最后,再用reshape()函数将数组a变成一个3×2的遮挡阵列,数组中填充遮挡值0而非实际值,reshape((3,2), order='F').filled(0)

总的来说,reshape()函数是一种重塑、重构、裁剪数组的好方法。 对于遮挡数组,它将保留遮挡值并根据新形状重新构造数组。