在某些情况下,我们需要一个排序后的数组进行计算。为此,Python的numpy模块提供了一个名为 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中出现的顺序来使用,以打破联系。
此函数返回源数组的排序副本,该副本的形状和类型与源数组相同。
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]])
在上面的代码中
在输出中,它显示了相同类型和形状的源数组的排序副本。
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])
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]])
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')])
在上面的代码中
在输出中,它显示了具有定义顺序的结构化数组的排序副本。
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)