如何对np.arrary数组排序
时间: 2024-03-24 10:38:35 浏览: 17
对于numpy数组,可以使用`np.sort()`函数对其进行排序,也可以使用数组对象自带的`sort()`方法进行排序。这两种方法的区别在于,`np.sort()`返回的是一个新的已排序的数组,而`sort()`方法直接修改原始数组。
示例代码如下:
```python
import numpy as np
# 生成一个随机数组
arr = np.random.randint(0, 10, size=5)
print("原始数组:", arr)
# 使用np.sort()函数进行排序
sorted_arr = np.sort(arr)
print("排序后的数组:", sorted_arr)
# 使用sort()方法进行排序
arr.sort()
print("排序后的数组:", arr)
```
输出结果为:
```
原始数组: [8 3 4 2 9]
排序后的数组: [2 3 4 8 9]
排序后的数组: [2 3 4 8 9]
```
如果要对多维数组进行排序,可以指定`axis`参数来指定要排序的轴。例如,对于一个二维数组,可以按行或按列进行排序。
```python
import numpy as np
# 生成一个二维随机数组
arr = np.random.randint(0, 10, size=(3, 4))
print("原始数组:\n", arr)
# 按行排序
sorted_arr_row = np.sort(arr, axis=1)
print("按行排序后的数组:\n", sorted_arr_row)
# 按列排序
sorted_arr_col = np.sort(arr, axis=0)
print("按列排序后的数组:\n", sorted_arr_col)
```
输出结果为:
```
原始数组:
[[5 2 3 6]
[7 6 0 6]
[6 3 5 4]]
按行排序后的数组:
[[2 3 5 6]
[0 6 6 7]
[3 4 5 6]]
按列排序后的数组:
[[5 2 0 4]
[6 3 3 6]
[7 6 5 6]]
```