argsort()
时间: 2023-06-21 09:11:28 浏览: 73
`argsort()` 是一个 NumPy 函数,用于返回数组中元素排序后的索引值。具体来说,`argsort()` 会返回一个由原始数组中元素排序后的索引组成的数组。
例如,如果我们有以下数组:
```python
import numpy as np
arr = np.array([3, 1, 4, 2, 5])
```
我们可以使用 `argsort()` 函数来找到 `arr` 中元素排序后的索引值:
```python
sorted_indices = np.argsort(arr)
print(sorted_indices)
```
输出:
```
[1 3 0 2 4]
```
这表示原始数组中第二个元素(即 `1`)是最小的,第四个元素(即 `2`)是第二小的,以此类推。我们也可以使用这些索引来对原始数组进行排序:
```python
sorted_arr = arr[sorted_indices]
print(sorted_arr)
```
输出:
```
[1 2 3 4 5]
```
这里我们首先得到了排序后的索引值,然后使用这些索引值对原始数组进行切片操作,得到了排序后的数组。
相关问题
pytorch argsort
`torch.argsort()` 是 PyTorch 中的一个函数,用于返回一个张量中元素排序后的索引。它可以按照指定的维度对张量进行排序。
例如,假设有一个张量 `tensor = torch.tensor([3, 1, 2])`,我们可以使用 `torch.argsort(tensor)` 来获取排序后的索引。输出将是一个新的张量 `[1, 2, 0]`,表示原始张量中的元素按升序排序后的索引。
我们还可以指定 `dim` 参数来沿着特定的维度进行排序。例如,假设有一个二维张量 `tensor = torch.tensor([[3, 1, 2], [4, 5, 6]])`,我们可以使用 `torch.argsort(tensor, dim=1)` 来沿着第二个维度对张量进行排序。
希望这个回答对你有帮助!如果你还有其他问题,请随时提问。
numpy argsort
numpy 的 argsort 函数返回数组排序后的索引值,它的用法如下:
```python
import numpy as np
x = np.array([3, 1, 4, 2])
idx = np.argsort(x)
print(idx) # [1 3 0 2]
```
其中,idx 数组表示 x 排序之后的索引值,即 x[idx] 是已排序的数组。
阅读全文