📅  最后修改于: 2023-12-03 15:18:03.706000             🧑  作者: Mango
在NumPy中,我们经常需要创建特定形状的数组,例如具有相同形状但不同数据的数组。有时,我们想将整个数组设置为缺失值。这时候,就要使用 numpy.ma.masked_all_like()
函数。
numpy.ma.masked_all_like()
函数使用与给定数组形状相同的填充值创建掩码数组。
该函数具有以下语法:
numpy.ma.masked_all_like(arr, dtype=None, order='K', subok=True, shape=None)
arr
:生成数组的样本,这个样本应有相同的形状。dtype
:生成数组的数据类型。默认为 None
。order
:C表示按行连续存储,F表示按列连续存储,A表示按照原始顺序存储,K表示按照平台规则存储。默认为 ‘K’
。subok
:如果为真,则子类是合法的返回值。默认为 True
。shape
:制作的数组的形状。默认为 None。numpy.ma.masked_all_like()
函数返回一个新数组,以其形状与样本数组相同,并用给定数据类型填充。
import numpy as np
a = np.ma.masked_all_like([1, 2, 3, 4])
print(a)
b = np.ma.masked_all_like([1, 2, 3, 4]).reshape(2, 2)
print(b)
输出结果:
[-- -- -- --]
[[-999. -999.]
[-999. -999.]]
在上面的示例中,我们首先使用 numpy.ma.masked_all_like()
创建一个形状为 [1,2,3,4]
的数组,并将其所有元素都设置为缺失值。
然后,我们使用 numpy.ma.masked_all_like()
再次创建一个形状为 [1,2,3,4]
的数组, 通过 .reshape(2,2)
改变其形状为 [2,2]
,同样将其中所有元素设置为缺失值。