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

用法:
numpy.sort(a, axis=-1, kind='quicksort', order=None)
参数:
x:数组
此参数定义将要排序的源数组。
轴:整数或无(可选)
此参数定义执行排序的轴。如果此参数为None,则数组在排序前会被展平,默认情况下,此参数设置为-1,即沿最后一个轴对数组进行排序。
种类:{快速排序、堆排序、归并排序}(可选)
该参数用于定义排序算法,默认使用'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.
- 我们使用 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.
- 我们已经为结构化数组定义了字段和值。
- 我们通过在 np.array() 函数中传递数据类型和值创建了一个结构化数组 'x'。
- 我们已经声明了变量 'y' 和 'z',并赋值了 np.sort() 函数的返回值。
- 我们已经在函数中传递了输入数组 'x' 和 order。
- 最后,我们尝试打印 'y' 和 'z' 的值。
在输出中,它显示了具有定义顺序的结构化数组的排序副本。
相关用法
- Python numpy.sort_complex()用法及代码示例
- Python numpy.sort()用法及代码示例
- Python numpy.shares_memory()用法及代码示例
- Python numpy.stack()用法及代码示例
- Python numpy.select()用法及代码示例
- Python numpy.square()用法及代码示例
- Python numpy.sqrt()用法及代码示例
- Python numpy.subtract()用法及代码示例
- Python numpy.swapaxes()用法及代码示例
- Python numpy.sign()用法及代码示例
- Python numpy.signbit()用法及代码示例
- Python numpy.searchsorted()用法及代码示例
- Python numpy.sum()用法及代码示例
- Python numpy.sin()用法及代码示例
- Python numpy.squeeze()用法及代码示例
- Python numpy.setdiff1d()用法及代码示例
- Python numpy.sinc()用法及代码示例
- Python numpy.save()用法及代码示例
- Python numpy.sctype2char()用法及代码示例
- Python numpy.std()用法及代码示例
注:本文由纯净天空筛选整理自 numpy.sort in Python。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。