python numpy三维数组将第一维排序
时间: 2023-09-29 18:09:32 浏览: 81
Python Numpy 数组的初始化和基本操作
如果你想对一个三维数组按照第一维排序,你可以使用 numpy 的 sort 函数,并设置 axis 参数为 0。以下是一个示例代码:
```python
import numpy as np
arr = np.array([[[9, 8, 7], [6, 5, 4], [3, 2, 1]],
[[12, 11, 10], [15, 14, 13], [18, 17, 16]],
[[21, 20, 19], [24, 23, 22], [27, 26, 25]]])
sorted_arr = np.sort(arr, axis=0)
print(sorted_arr)
```
输出结果:
```
[[[ 9 8 7]
[ 6 5 4]
[ 3 2 1]]
[[12 11 10]
[15 14 13]
[18 17 16]]
[[21 20 19]
[24 23 22]
[27 26 25]]]
```
如果你想获取排序后的索引,可以使用 argsort 函数,例如:
```python
import numpy as np
arr = np.array([[[9, 8, 7], [6, 5, 4], [3, 2, 1]],
[[12, 11, 10], [15, 14, 13], [18, 17, 16]],
[[21, 20, 19], [24, 23, 22], [27, 26, 25]]])
sorted_indices = np.argsort(arr, axis=0)
print(sorted_indices)
```
输出结果:
```
[[[0 0 0]
[0 0 0]
[0 0 0]]
[[1 1 1]
[1 1 1]
[1 1 1]]
[[2 2 2]
[2 2 2]
[2 2 2]]]
```
这个结果表示第一维的元素按照从小到大的顺序排列后,原先在第一维的第 0 个位置的元素在排序后在第 0 个位置,原先在第一维的第 1 个位置的元素在排序后在第 1 个位置,以此类推。
阅读全文