有关patition的问题?

来源:3-9 Numpy中的arg运算

慕斯卡8323326

2018-03-19

老师你在讲np.patition时第一参数为数组,第二参数为要分小于和大于的值,但是我在练习过程中发现是,第二值为

要比较的值的索引

http://img.mukewang.com/szimg/5aaf17d20001179108680587.jpg


但是还是感觉那里不对?

写回答

1回答

liuyubobobo

2018-03-19

感谢你的问题,我查了一下文档,这里确实是我讲错了。由于我举的例子中元素和索引一致,所以没有展现出这个问题:(


partition的第二参数kth,是指以整个数组中第k个元素(k为索引,从0开始)作为标定点。对于你贴图的例子,你可以尝试将整个x排序,之后就会发现x[5] == 23。所以你运行np.partition(x, 5)以后,x[5]也是23,其实是以这个23作为标定点:23前面的数字都小于23;23后面的数字都大于23。


具体numpy.partition的文档参见这里:https://docs.scipy.org/doc/numpy-dev/reference/generated/numpy.partition.html

其中kth这个参数的解释文档中有详细说明:)


你发现了我的课程中的一个bug,如果愿意,可以加我的微信:liuyubobobo,我会给你发一个小红包:)


再次致歉,表示感谢!:)

5
3
liuyubobobo
回复
_Prairie
第二个 23 才是真正的标定点。
2020-07-03
共3条回复

Python3入门机器学习 经典算法与应用  

Python3+sklearn,兼顾原理、算法底层实现和框架使用。

5940 学习 · 2455 问题

查看课程