返回 NumPy 中 MaskedArray 数据的视图


要返回 NumPy 中 MaskedArray 数据的视图,请使用 **ma.MaskedArray.view()** 方法。

a.view() 有两种不同的使用方法

  • a.view(some_dtype) 或 a.view(dtype=some_dtype) 构造数组内存的视图,使用不同的数据类型。这可能会导致对内存字节的重新解释。

  • a.view(ndarray_subclass) 或 a.view(type=ndarray_subclass) 只返回 ndarray_subclass 的一个实例,该实例查看相同的数组。这不会导致内存的重新解释。

步骤

首先,导入所需的库:

import numpy as np
import numpy.ma as ma

使用 numpy.array() 方法创建一个包含整数元素的数组:

arr = np.array([[35, 85], [67, 33]])
print("Array...
", arr) print("
Array type...
", arr.dtype)

获取数组的维度:

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

创建一个掩码数组,并将其中一些标记为无效:

maskArr = ma.masked_array(arr, mask =[[0, 1], [ 0, 1]])
print("
Our Masked Array
", maskArr) print("
Our Masked Array type...
", maskArr.dtype)

获取掩码数组的 itemsize:

print("
Our Masked Array itemsize...
", maskArr.itemsize)

获取掩码数组的维度:

print("
Our Masked Array Dimensions...
",maskArr.ndim)

获取掩码数组的形状:

print("
Our Masked Array Shape...
",maskArr.shape)

复制:

resArr = maskArr.copy()

要返回 NumPy 中 MaskedArray 数据的视图,请使用 ma.MaskedArray.view() 方法:

print("
View...
",resArr.view())

示例

# Python ma.MaskedArray - Return a view of the MaskedArray data

import numpy as np
import numpy.ma as ma

# Create an array with int elements using the numpy.array() method
arr = np.array([[35, 85], [67, 33]])
print("Array...
", arr) print("
Array type...
", arr.dtype) print("
Array itemsize...
", arr.itemsize) # Get the dimensions of the Array print("Array Dimensions...
",arr.ndim) # Create a masked array and mask some of them as invalid maskArr = ma.masked_array(arr, mask =[[0, 1], [ 0, 1]]) print("
Our Masked Array
", maskArr) print("
Our Masked Array type...
", maskArr.dtype) # Get the itemsize of the Masked Array print("
Our Masked Array itemsize...
", maskArr.itemsize) # Get the dimensions of the Masked Array print("
Our Masked Array Dimensions...
",maskArr.ndim) # Get the shape of the Masked Array print("
Our Masked Array Shape...
",maskArr.shape) # copying resArr = maskArr.copy() # To return a view of the MaskedArray data in Numpy, use the ma.MaskedArray.view() method in Numpy print("
View...
",resArr.view())

输出

Array...
[[35 85]
[67 33]]

Array type...
int64

Array itemsize...
8
Array Dimensions...
2

Our Masked Array
[[35 --]
[67 --]]

Our Masked Array type...
int64

Our Masked Array itemsize...
8

Our Masked Array Dimensions...
2

Our Masked Array Shape...
(2, 2)

View...
[[35 --]
[67 --]]

更新于:2022年2月2日

浏览量:106

开启您的 职业生涯

完成课程获得认证

开始学习
广告