np中返回从大到小排列的行元素值
时间: 2023-05-26 11:02:14 浏览: 51
为了在NumPy中返回从大到小排列的行元素值,可以使用argsort()函数来得到每一行元素的排序索引。然后,我们可以将这些索引按照从大到小的顺序排列,并使用它们来重新排列原始矩阵。
以下是一个例子:
```python
import numpy as np
# 创建一个随机矩阵(3 x 5)
mat = np.random.rand(3, 5)
print("原始矩阵:")
print(mat)
# 对每一行进行排序,返回每个元素的排序索引
sorted_indices = np.argsort(mat, axis=1)
# 将每个排序索引按行排列
reverse_indices = sorted_indices[:, ::-1]
# 使用排序后的索引重新排列原始矩阵的行
sorted_mat = np.take_along_axis(mat, reverse_indices, axis=1)
print("从大到小排列的矩阵:")
print(sorted_mat)
```
输出:
```
原始矩阵:
[[0.42907452 0.47366311 0.56335693 0.44086557 0.18667393]
[0.38259493 0.96047924 0.90890161 0.44568722 0.42486468]
[0.45089647 0.58228926 0.80546507 0.06776481 0.83367967]]
从大到小排列的矩阵:
[[0.56335693 0.47366311 0.44086557 0.42907452 0.18667393]
[0.96047924 0.90890161 0.44568722 0.42486468 0.38259493]
[0.83367967 0.80546507 0.58228926 0.45089647 0.06776481]]
```