我想獲得多維numpy數組中最大n值的索引。爲了得到一維numpy數組中最大n值的索引,我找到了this。在python的交互式shell中測試之後,似乎bottleneck.argpartsort
不能對多維numpy數組產生影響。爲了獲得多維numpy數組中最大值的索引,我找到了this。它不能得到最大的n。我可以給出的方法是將多維numpy數組轉換爲{value:index}
(由元組存在的索引)列表,然後按值對列表進行排序,並獲取索引。有什麼更容易或更多的表現?如何獲得多維numpy數組中最大n值的索引
4
A
回答
4
我沒有獲得bottleneck
,所以在這個例子中,我使用argsort
,但你應該能夠以同樣的方式使用它:
#!/usr/bin/env python
import numpy as np
N = 4
a = np.random.random(20).reshape(4, 5)
print(a)
# Convert it into a 1D array
a_1d = a.flatten()
# Find the indices in the 1D array
idx_1d = a_1d.argsort()[-N:]
# convert the idx_1d back into indices arrays for each dimension
x_idx, y_idx = np.unravel_index(idx_1d, a.shape)
# Check that we got the largest values.
for x, y, in zip(x_idx, y_idx):
print(a[x][y])
+0
使用['argpartition'](http://docs.scipy.org/doc/numpy/reference/generated/numpy.argpartition.html) 'argsort',你就會贏得我的讚賞。 ;-) – Jaime
相關問題
- 1. 索引多維numpy的數組索引
- 2. 如何從OpenCV中的n維數組中獲取最大值
- 3. 如何獲得numpy數組的最大二維切片?
- 4. 查找三維numpy數組中的n個最小值的索引
- 5. 如何識別VBA中多維數組中第n個最小值的索引?
- 6. 如何獲得三維數組的最小值或最大值?
- 7. Numpy數組作爲多維numpy數組中的索引
- 8. 在java數組中獲取n個最大值的索引
- 9. 如何從一個numpy多維數組中獲取k個最大值的索引
- 10. 索引numpy的多維數組
- 11. 我需要在Numpy數組中的N個最小(索引)值
- 12. 索引一個索引數組的多維numpy數組
- 13. odoo獲得最大的數組索引
- 14. 如何獲得數組中最大數目的索引?
- 15. Numpy中的多維索引
- 16. 索引numpy數組(4維)
- 17. 如何獲得Javascript中二維數組的二維最小/最大值?
- 18. 如何獲得給定索引的二維數組中的最小值?
- 19. 多維數組的最大值索引C++
- 20. 如何評估多維數組中的N個最大元素?
- 21. 如何在perl中獲得數組中最大重複值的所有索引
- 22. C#獲取二維整數數組中最大值的索引值
- 23. 如何查找具有最大值的多維數組的索引
- 24. 如何從多維數組中檢索數組的最高值
- 25. 使用numpy將布爾數組索引到多維數組中
- 26. 如何使用php獲得多維數組的特定索引值的總和?
- 27. 如何獲得維數組中的值?
- 28. 如何從多維數組中獲取父數組索引php
- 29. 在VBA中查找多維數組中最小值的索引
- 30. 如何在numpy矩陣的每一行獲得N個最大值的索引矩陣?
重塑一個維度,然後搜索,然後通過涉及重塑之前的維度的算術計算來獲得原始指標? –
也許'flatten()'原始數組,然後使用你的1D解決方案,最後使用原始形狀計算真實的nD指數? – chw21
第二個鏈接有什麼問題?你能告訴我們這個多維數組的一部分嗎?我不明白爲什麼它不應該工作... – plonser