我試圖numpy.argpartition通過閱讀它的文檔來理解它,但我仍然感到困惑。在文檔中,據說它返回一個索引數組,這些索引以分區順序沿給定軸索引數據。我在這句話中沒有得到的是“按分區順序”。此外,當我使用np.argpartition示例時,我沒有得到任何合乎邏輯的東西(對我來說)。>>> a = np.array([352, 538, 215, 400, 631, 498, 586, 731])>>> np.argpartition(a, 2)array([2, 0, 3, 1, 4, 5, 6, 7])>>> np.argpartition(a, 3)array([2, 0, 3, 5, 1, 4, 6, 7])我期望的是一個數組,其中包含數組 a 的排序值的索引。誰能解釋/澄清如何np.argpartition工作?
1 回答

MM們
TA貢獻1886條經驗 獲得超2個贊
In [163]: np.argpartition(a, 3)
Out[163]: array([2, 0, 3, 5, 1, 4, 6, 7])
In [164]: a[_]
Out[164]: array([215, 352, 400, 498, 538, 631, 586, 731])
In [165]: np.partition(a,3)
Out[165]: array([215, 352, 400, 498, 538, 631, 586, 731])
在 164 和 165 中,400 左側的所有內容都較小,右側的所有內容都較大。
- 1 回答
- 0 關注
- 188 瀏覽
添加回答
舉報
0/150
提交
取消