NumPy partition()函数

原文:https://www.studytonight.com/numpy/numpy-partition-function

在本教程中,我们将介绍 Numpy 库的numpy.partition()功能。

partition()函数是,用于根据给定的参数相应地分割输入数组

  • 此函数返回输入数组的分区副本。

  • 在数组的分区副本中,元素以这样一种方式重新排列,即第 kth 位置的元素取数组排序后的位置。

  • 所有小于第 kth 个元素的元素都在这个元素之前移动,所有等于或大于它的元素都在它后面移动。

  • 如果存在值等于第 kth 个元素的数据元素,则两个分区中元素的顺序保持不变

numpy.partition()的语法:

使用此方法所需的语法如下:

numpy.partition(arr, kth, axis, kind, order)

参数:

现在让我们看看这个函数的参数:

  • arr 该参数表示要排序的输入数组。

  • kth 它是一个整数或整数序列。该参数指示需要围绕其执行分区的元素的索引。

  • 该参数表示元素排序的轴。该参数的默认值为 -1 (表示沿最后一个轴排序)。

  • 种类 此参数用于定义您要执行的排序种类。该参数的默认值为“intro select”。

  • 顺序 对于定义了字段的数组arr,该参数用于指定首先比较哪些字段,其次比较哪些字段,等等。

返回值:

该函数将返回与输入数组相同类型和形状的数组

例 1:

代码片段如下,我们将在其中使用partition()函数:

import numpy as np

inp_ar = np.array([2, 0, 1, 5, 4, 9, 78, 34]) 
print ("The Input array : ") 
print(inp_ar)

output = np.partition(inp_ar, 5) 
print ("The Output partitioned array : ")
print(output)

输入数组: 【2 0 1 5 4 9 78 34】 输出分区数组: 【4 2 1 0 5 9 34 78】

从上述代码片段的输出中可以得出结论,所有小于第 5 个位置的元素(即 9 )的元素都放置在 9 的左侧,所有大于 9 的元素都放置在分隔符元素(第 5 个元素)的右侧。

另外,注意输出数组中出现的元素的顺序是未定义的。

例 2:

import numpy as np

arr = np.array([7, 4, 8, 1, 10, 13])
print("The Input array is :")
print(arr)

output = np.partition(arr, (1, 3))
print("The Output Partitioned array is :")
print(output)

输入数组为: 【7 4 8 1 10 13】 输出分区数组为: 【1 4 7 8 10 13】

摘要

在本教程中,我们学习了 Numpy 库的numpy.partition()功能。我们介绍了如何使用它的语法和这个函数返回的值,以及一些代码示例,以帮助您理解这个概念。