官方文档:https://numpy.org/doc/stable/reference/generated/numpy.partition.html
官方给出的说明是:

即:以第'k-th'位置为基准,该位置的元素位于对原始数组排序之后的位置,大于该元素值的元素被放置在该元素的后面,小于该元素值的元素被放置在该元素的前面,前后两端的元素排列顺序无要求。
代码测试:
a = np.array([3, 4, 2, 1]) # [1, 2, 3, 4]
print(a)
print(np.partition(a, 3))
print(np.partition(a, (1, 3)))
'''
输出:
[3 4 2 1]
[2 1 3 4]
[1 2 3 4]
'''
数组[3, 4, 2, 1]排序之后的顺序是[1, 2, 3, 4],在位置'3'的元素数值为'3',小于'3'的元素'1, 2'被移动到前面,'4'被移动到后面,得到结果。
当参数为元祖'(1, 3)'时,即是以位置'1'和'3'为基准,对原数组进行移动处理。
参考:
https://stackoverflow.com/questions/41484104/how-numpy-partition-work
https://blog.youkuaiyun.com/weixin_42001089/article/details/89204112
本文解析了NumPy库中的partition函数,演示如何根据指定位置对数组进行排序划分,通过实例展示了函数的工作原理,并介绍了元组参数的使用。关键概念包括基准元素、前后元素移动和多位置划分。
648





