跳转至

Numpy MaskedArray.argsort()函数| Python

原文:https://www . geeksforgeeks . org/numpy-masked array-arg sort-function-python/

在许多情况下,数据集可能是不完整的,或者被无效数据污染。例如,传感器可能未能记录数据,或者记录了无效值。numpy.ma模块通过引入屏蔽数组提供了一种解决这个问题的便捷方法。屏蔽数组是指可能缺少条目或条目无效的数组。 numpy.MaskedArray.argsort() 函数返回一系列沿指定轴对数组进行排序的索引。屏蔽值会预先填充到 fill_value 中。

语法: numpy.MaskedArray.argsort(axis=None, kind='quicksort', order=None, endwith=True, fill_value=None)

参数: 轴:【无,整数】要排序的轴。如果默认值为“无”,则使用展平数组。 种类: ['quicksort ',' mergesort ',' heapsort']排序算法。默认值为“快速排序”。 顺序:【列表,可选】当 a 是定义了字段的数组时,此参数指定首先比较哪些字段,其次比较哪些字段等。 end with:【True,False,可选】缺失值(如果有)应被视为最大值(True)还是最小值(False)当数组在数据类型的相同极端包含未屏蔽值时,这些值和屏蔽值的顺序是未定义的。 fill _ Value:【var,可选】用于填充屏蔽值的值。如果无,最小填充值的输出(自。_data)来代替。

返回:【n 数组,int】沿指定轴排序的索引数组。

代码#1 :

# Python program explaining
# numpy.MaskedArray.argsort() method 

# importing numpy as geek 
# and numpy.ma module as ma
import numpy as geek
import numpy.ma as ma

# creating input array 
in_arr = geek.array([4, 2, 3, -1, 5])
print ("Input array : ", in_arr)

# Now we are creating a masked array 
# by making third entry as invalid. 
mask_arr = ma.masked_array(in_arr, mask =[0, 0, 1, 0, 0])
print ("Masked array : ", mask_arr)

# applying MaskedArray.argsort methods to mask array
out_arr = mask_arr.argsort()
print ("output array of indices: ", out_arr)

Output:

Input array :  [ 4  2  3 -1  5]
Masked array :  [4 2 -- -1 5]
output array of indices:  [3 1 0 4 2]

代码#2 :

# Python program explaining
# numpy.MaskedArray.argsort() method 

# importing numpy as geek 
# and numpy.ma module as ma
import numpy as geek
import numpy.ma as ma

# creating input array 
in_arr = geek.array([5, -5, 0, -10, 2])
print ("Input array : ", in_arr)

# Now we are creating a masked array 
# by making first third entry as invalid. 
mask_arr = ma.masked_array(in_arr, mask =[1, 0, 1, 0, 0])
print ("Masked array : ", mask_arr)

# applying MaskedArray.argminmethods to mask array
# and filling the masked location by 1
out_arr = mask_arr.argsort(fill_value = 1)
print ("output array of indices: ", out_arr)

Output:

Input array :  [  5  -5   0 -10   2]
Masked array :  [-- -5 -- -10 2]
output array of indices:  [3 1 0 2 4]



回到顶部