【发布时间】:2017-05-19 22:35:38
【问题描述】:
我想弄清楚np.partition 函数是如何工作的。
例如,考虑
arr = np.array([ 5, 4, 1, 0, -1, -3, -4, 0])
如果我打电话给np.partition(arr, kth=2),我得到了
np.array([-4, -3, -1, 0, 1, 4, 5, 0])
我希望在分区后数组将拆分为小于一的元素、一和大于一的元素。 但是第二个零放在最后一个数组位置,这不是分区后的正确位置。
【问题讨论】:
-
是的,我有。根据文档,“元素的第 k 个值将处于其最终排序位置,所有较小的元素将移到它之前,所有相等或更大的元素都将移到它后面。”。对非唯一数组的行为只字不提。我发现唯一数组上的分区工作正常。
标签: python arrays sorting numpy