我试图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 关注
- 156 浏览
添加回答
举报
0/150
提交
取消