Numpy MaskedArray.argsort()函数

Numpy MaskedArray.argsort()函数

在许多情况下,数据集可能是不完整的,或因存在无效数据而受到污染。例如,一个传感器可能未能记录一个数据,或者记录了一个无效的值。numpy.ma模块通过引入掩码数组,为解决这个问题提供了一个方便的方法。掩码数组是可能存在缺失或无效项的数组。
numpy.MaskedArray.argsort()函数返回一个索引的ndarray,沿着指定的轴对数组进行排序。屏蔽的值会事先填充到fill_value。

语法:

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

参数:
axis : [None, integer] 用于排序的轴。如果没有,默认情况下,会使用扁平化的数组。
kind: [‘quicksort’, ‘mergesort’, ‘heapsort’] 排序算法。默认为’quicksort’。
order : [list, optional] 当a是一个定义了字段的数组时,这个参数指定了哪些字段要首先比较,其次,等等。
endwith : [True, False, optional] 缺失的值(如果有的话)是否应该被当作最大的值(True)或者最小的值(False)当数组包含数据类型相同极端的未屏蔽的值时,这些值和屏蔽的值的排序是未定义的。
fill_value : [ var, optional] 用来填充被屏蔽的值的值。如果没有,则使用minimum_fill_value(self._data)的输出来代替。

返回: [ndarray, int]沿指定轴线对a进行排序的索引阵列。

代码#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)

输出:

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)

输出:

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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程