如何对 Numpy 数组进行排序?

numpyserver side programmingprogramming

"数组"通常指列表。Numpy 数组与 Python 列表有一些相似之处,但在数据格式、内存利用率、性能和功能方面也存在显著差异。Python 中有一些内置的数组函数可用于对 Numpy 数组进行排序。Numpy 数组是一个由固定大小元素组成的多维同构数组。Numpy 数组主要用于科学计算。例如,Numpy 在数据科学和机器学习程序中被广泛使用。

语法

示例中使用了以下语法 -

array()

这是一个 Python 内置函数,可用于存储不同数据类型的多个元素。

sort()

这是一个内置函数,可用于按从升序到降序的顺序表示数字或字符串。

算法

以下步骤如下 -

  • 我们将通过导入模块 numpy 并使用对象来表示该模块来启动程序。

  • 现在使用内置函数使用对象名称调用 array() 函数,并将其存储在变量中。

  • 然后通过对该变量应用 sort() 函数来打印结果。

示例 1

在此程序中,我们将使用一些随机数,将其存储在列表中。然后使用 array() 函数将该数字视为数组形式。最后,使用 sort 函数将数字按从升序到降序的顺序排列。

import numpy as pq
my_arr = pq.array( [11, 102, 1091, 2] )
print( "Numpy 数组排序:", pq.sort(my_arr) )

输出

Numpy 数组排序:[ 2 11 102 1091]

示例 2

在此程序中,我们将在列表中创建多个字符串。要将列表转换为数组,需要使用内置函数 array(),并使用 sort() 函数对字符串列表进行排序。

import numpy as pq
arr = pq.array( ['School', 'Friend', 'University', 'Teacher'] )
print( "Numpy 数组排序:", pq.sort(arr) )

输出

Numpy 数组排序:['Friend' 'School' 'Teacher' 'University']

示例 3

在此程序中,我们将使用内置函数 array() 和 sort() 对 boolean 数组进行排序。

import numpy as np
np_arr = np.array( [True, False, True, True, False] )
print( "Numpy 数组排序:", np.sort( np_arr ) )

输出

Numpy 数组排序:[False False True True True]

示例 4

在这个程序中,我们首先会用到 Numpy 模块。然后使用内置函数 array() 存储数组列表。最后初始化变量 sort_index,用于存储索引的排序结果。接下来,使用数组列表存储 sort_index,并使用 print 函数获取结果。

import numpy as np
arr = np.array([3, 2, 1])
sort_index = np.argsort(arr)
sort_arr = arr[sort_index]
print(sort_arr)

输出

[1 2 3]

结论

以上三个输出代表了 Numpy 数组的排序。第一个示例使用随机整数对 Numpy 数组进行排序,而第二个示例使用字符串对 Numpy 数组进行排序。最后,第三个示例使用布尔数组对 Numpy 数组进行排序。


相关文章