在 NumPy 中沿轴 0 对掩码数组进行就地排序

要对掩码数组进行就地排序,请使用ma. MaskedArray.sort()Numpy 中的方法。axis 参数设置排序的轴。

该方法返回与数组相同类型和形状的数组。当数组是结构化数组时, order 参数指定要比较第一个、第二个等哪些字段。此列表不需要包括所有字段。

endwith 参数建议是否应将缺失值(如果有)视为最大值 (True) 或最小值 (False) 当数组包含按数据类型的相同极端排序的未屏蔽值时,这些值的排序和掩码值未定义。fill_value 是内部用于掩码值的值。如果 fill_value 不是 None,它将取代 endwith。

脚步

首先,导入所需的库 -

import numpy as np

importnumpy.maas ma

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

arr = np.array([[55, 85, 59, 77], [67, 33, 39, 57], [29, 88, 51, 37], [56, 45, 99, 85]])

print("Array...\n", arr)

print("\nArray type...\n", arr.dtype)

获取数组的维度 -

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

创建一个屏蔽数组并将其中一些屏蔽为无效 -

maskArr = ma.masked_array(arr, mask =[[1, 1, 0, 0], [ 0, 0, 1, 0], [0, 0, 0, 1], [0, 1, 0, 0]])

print("\nOur Masked Array\n", maskArr)

print("\nOur Masked Array type...\n", maskArr.dtype)

获取 Masked Array 的尺寸 -

print("\nOur Masked Array Dimensions...\n",maskArr.ndim)

获取蒙面阵列的形状 -

print("\nOur Masked Array Shape...\n",maskArr.shape)

获取 Masked Array 的元素数量 -

print("\nElements in the Masked Array...\n",maskArr.size)

要对掩码数组进行就地排序,请使用 ma. Numpy 中的方法。axis 参数设置排序的轴。如果为 None,则数组在排序前被展平。默认值为 -1,沿最后一个轴排序。轴值设置为 0 -MaskedArray.sort()

maskArr.sort(axis = 0)

显示排序掩码数组 -

print("\nSorted masked array...\n",maskArr)

示例

import numpy as np

importnumpy.maas ma

# Create an array with int elements using the numpy.array() method

arr = np.array([[55, 85, 59, 77], [67, 33, 39, 57], [29, 88, 51, 37], [56, 45, 99, 85]])

print("Array...\n", arr)

print("\nArray type...\n", arr.dtype)

# Get the dimensions of the Array

print("\nArray Dimensions...\n",arr.ndim)

# Create a masked array and mask some of them as invalid

maskArr = ma.masked_array(arr, mask =[[1, 1, 0, 0], [ 0, 0, 1, 0], [0, 0, 0, 1], [0, 1, 0, 0]])

print("\nOur Masked Array\n", maskArr)

print("\nOur Masked Array type...\n", maskArr.dtype)

# Get the dimensions of the Masked Array

print("\nOur Masked Array Dimensions...\n",maskArr.ndim)

# Get the shape of the Masked Array

print("\nOur Masked Array Shape...\n",maskArr.shape)

# Get the number of elements of the Masked Array

print("\nElements in the Masked Array...\n",maskArr.size)

# To sort the masked array in-place, use the ma.MaskedArray.sort() method in Numpy

# The axis parameter sets the axis along which to sort.

# If None, the array is flattened before sorting. The default is -1, which sorts along the last axis.

# The axis value is set 0

maskArr.sort(axis = 0)

# Display the Sorted Masked Array

print("\nSorted masked array...\n",maskArr)

输出结果
Array...

[[55 85 59 77]

[67 33 39 57]

[29 88 51 37]

[56 45 99 85]]

Array type...

int64

Array Dimensions...

2

Our Masked Array

[[-- -- 59 77]

[67 33 -- 57]

[29 88 51 --]

[56 -- 99 85]]

Our Masked Array type...

int64

Our Masked Array Dimensions...

2

Our Masked Array Shape...

(4, 4)

Elements in the Masked Array...

16

Sorted masked array...

[[29 33 51 57]

[56 88 59 77]

[67 -- 99 85]

[-- -- -- --]]

以上是 在 NumPy 中沿轴 0 对掩码数组进行就地排序 的全部内容, 来源链接: utcz.com/z/297122.html

回到顶部