📅  最后修改于: 2023-12-03 15:03:19.057000             🧑  作者: Mango
在数据处理和科学计算中,排序是很常见的需求。NumPy数组的 sort()
函数可以帮助我们对数组进行排序,本文将介绍如何对多维数组进行排序。
让我们从最简单的一维数组开始。
import numpy as np
arr = np.array([3, 1, 2])
arr.sort()
print(arr) # [1 2 3]
通过 sort()
函数,我们可以直接对一维数组进行排序。
对于多维数组,sort()
函数默认对每个轴(即维度)进行排序。例如,对于一个二维数组,sort()
函数默认在每一行上排序。
import numpy as np
arr = np.array([[3, 2], [1, 4]])
arr.sort()
print(arr)
# [[2 3]
# [1 4]]
我们在上面的代码中定义了一个二维数组 arr
,并对其进行排序。你会发现,sort()
函数默认在每一行上进行排序。
如果我们希望按列排序,而不是按行排序,可以指定 axis
参数。axis=0
表示按列排序,axis=1
表示按行排序。
import numpy as np
arr = np.array([[3, 2], [1, 4]])
arr.sort(axis=0)
print(arr)
# [[1 2]
# [3 4]]
在上面的代码中,我们通过指定 axis=0
,实现按列排序。
有时,我们希望按特定的条件对数组进行排序。例如,我们可以按照数组元素的大小进行排序。
import numpy as np
arr = np.array([3, 1, 2])
indices = arr.argsort()
print(indices) # [1 2 0]
print(arr[indices]) # [1 2 3]
在上面的代码中,我们使用 argsort()
函数获取数组元素从小到大的索引,然后通过索引从小到大获取排序后的数组。
通过本文,我们学习了如何使用 sort()
函数对多维数组进行排序。我们还学习了如何按特定条件排序。我希望这篇文章对你有所帮助!