python多维数组按列排序
时间: 2023-11-22 11:50:23 浏览: 86
以下是两种Python多维数组按列排序的例子:
1. 使用np.lexsort()函数按照指定的列顺序排序多维数组:
```python
import numpy as np
arr = np.array([[6, 3, 6, 4], [3, 1, 2, 0], [3, 1, 8, 3]]).transpose()
print('%=============原始数据(4行3列)=================')
print(arr)
arrSortedIndex = np.lexsort((arr[:, 2], arr[:, 1], arr[:, 0]))
print('%======按照x优先,y次级,z最后规则排序后=======')
print(arr[arrSortedIndex, :])
arrSortedIndex = np.lexsort((arr[:, 0], arr[:, 1], arr[:, 2]))
print('%======按照z优先,y次级,x最后规则排序后=======')
print(arr[arrSortedIndex, :])
```
2. 使用np.lexsort()函数默认排序规则排序二维数组:
```python
import numpy as np
arr = np.array([[6, 3, 6, 4], [3, 1, 2, 0]])
print('%=============原始数据(二维数组)===============')
print(arr)
arrSortedIndex = np.lexsort(arr)
print('%=================默认排序规则=================')
print(arr[:, arrSortedIndex])
```
阅读全文