numpy - sort()函数

numpy - sort()函数 首页 / Numpy入门教程 / numpy - sort()函数

在某些情况下,我们需要一个排序后的数组进行计算。为此,Python的numpy模块提供了一个名为 numpy.sort()的函数。此函数提供源数组或输入数组的排序副本。

numpy-sort

语法:

numpy.sort(a, axis=-1, kind='quicksort', order=None)

参数:

x:array_like

此参数定义将要排序的源数组。

链接:https://www.learnfk.comhttps://www.learnfk.com/numpy/numpy-sort.html

来源:LearnFk无涯教程网

axis:int或None(可选)

此参数定义执行排序所沿的轴。如果此参数为 None ,则数组将在排序前变平,并且默认情况下,此参数设置为-1,它将沿最后一个轴对数组进行排序。

kind:{quicksort,heapsort,mergesort}(可选)

此参数用于定义排序算法,默认情况下,使用'quicksort'执行排序。

order:str或str列表(可选)

当使用字段定义数组时,其顺序定义要进行第一,第二等比较的字段。只能将单个字段指定为字符串,而不必为所有字段指定。但是,未指定的字段仍将按照在dtype中出现的顺序来使用,以打破联系。

返回值:

此函数返回源数组的排序副本,该副本的形状和类型与源数组相同。

范例1:

import numpy as np
x=np.array([[1,4,2,3],[9,13,61,1],[43,24,88,22]])
x
y=np.sort(x)
y

输出:

array([[ 1,  4,  2,  3],
       	[ 9, 13, 61,  1],
       	[43, 24, 88, 22]])
 array([[ 1,  2,  3,  4],
       	[ 1,  9, 13, 61],
       	[22, 24, 43, 88]])

在上面的代码中

  • 我们导入了别名为np的numpy。
  • 我们已经使用 np.array()函数创建了一个多维数组'x'
  • 我们已经声明了变量'y',并分配了 np.sort()函数的返回值。
  • 我们已在函数中传递了输入数组'x'
  • 最后,我们尝试打印'y'的值。

在输出中,它显示了相同类型和形状的源数组的排序副本。

范例2:

import numpy as np
x=np.array([[1,4,2,3],[9,13,61,1],[43,24,88,22]])
x
y=np.sort(x, axis=None)
y

输出:

array([[ 1,  4,  2,  3],
       	[ 9, 13, 61,  1],
       	[43, 24, 88, 22]])
array([ 1,  1,  2,  3,  4,  9, 13, 22, 24, 43, 61, 88])

范例3:

import numpy as np
x=np.array([[1,4,2,3],[9,13,61,1],[43,24,88,22]])
x
y=np.sort(x,axis=0)
y
z=np.sort(x,axis=1)
z

输出:

array([[ 1,  4,  2,  1],
       	[ 9, 13, 61,  3],
       	[43, 24, 88, 22]])
array([[ 1,  2,  3,  4],
       	[ 1,  9, 13, 61],
       	[22, 24, 43, 88]])

范例4:

import numpy as np
dtype = [('name', 'S10'), ('height', float), ('age', int),('gender','S10')]
values = [('Shubham', 5.9, 23, 'M'), ('Arpita', 5.6, 23, 'F'),('Vaishali', 5.2, 30, 'F')]
x=np.array(values, dtype=dtype)
x
y=np.sort(x, order='age')
y
z=np.sort(x, order=['age','height'])
z

输出:

array([('Shubham', 5.9, 23, 'M'), ('Arpita', 5.6, 23, 'F'), ('Vaishali', 5.2, 30, 'F')],dtype=[('name', 'S10'), ('height', '<f8'), ('age', '<i4'), ('gender', 'S10')]) 
array([('Arpita', 5.6, 23, 'F'), ('Shubham', 5.9, 23, 'M'), ('Vaishali', 5.2, 30, 'F')], dtype=[('name', 'S10'), ('height', '<f8'), ('age', '<i4'), ('gender', 'S10')])
array([('Arpita', 5.6, 23, 'F'), ('Shubham', 5.9, 23, 'M'), ('Vaishali', 5.2, 30, 'F')], dtype=[('name', 'S10'), ('height', '<f8'), ('age', '<i4'), ('gender', 'S10')])

在上面的代码中

  • 我们导入了别名为np的numpy。
  • 我们已经定义了结构化数组的字段和值。
  • 我们通过在 np.array()函数中传递dtype和值来创建结构化数组'x'
  • 我们已经声明了变量'y''z',并分配了 np.sort()函数的返回值。
  • 我们已经传递了输入数组'x'并在函数中进行了排序。
  • 最后,我们尝试打印'y '和'z'的值。

在输出中,它显示了具有定义顺序的结构化数组的排序副本。

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

从0开始学架构 -〔李运华〕

程序员的数学基础课 -〔黄申〕

重学前端 -〔程劭非(winter)〕

Kafka核心源码解读 -〔胡夕〕

正则表达式入门课 -〔涂伟忠〕

张汉东的Rust实战课 -〔张汉东〕

如何落地业务建模 -〔徐昊〕

计算机基础实战课 -〔彭东〕

云计算的必修小课 -〔吕蕴偲〕

好记忆不如烂笔头。留下您的足迹吧 :)