查找 NumPy 数组的 k 个最小值
在本文中,让我们看看如何从 NumPy 数组中找到第 k 个最小值。
例子:
Input: [1,3,5,2,4,6]
k = 3
Output: [1,2,3]
方法 1:使用 np.sort() 。
方法:
- 创建一个 NumPy 数组。
- 确定 k 的值。
- 使用 sort() 方法按升序对数组进行排序。
- 打印排序数组的前 k 个值。
Python3
# importing the modules
import numpy as np
# creating the array
arr = np.array([23, 12, 1, 3, 4, 5, 6])
print("The Original Array Content")
print(arr)
# value of k
k = 4
# sorting the array
arr1 = np.sort(arr)
# k smallest number of array
print(k, "smallest elements of the array")
print(arr1[:k])
Python3
# importing the module
import numpy as np
# creating the array
arr = np.array([23, 12, 1, 3, 4, 5, 6])
print("The Original Array Content")
print(arr)
# value of k
k = 4
# using np.argpartition()
result = np.argpartition(arr, k)
# k smallest number of array
print(k, "smallest elements of the array")
print(arr[result[:k]])
输出:
The Original Array Content
[23 12 1 3 4 5 6]
4 smallest elements of the array
[1 3 4 5]
方法 2:使用 np.argpartition()
方法:
- 创建一个 NumPy 数组。
- 确定 k 的值。
- 使用 argpartition() 方法获取最小 k 个元素的索引。
- 从 argpartition() 获得的数组中获取前 k 个值,并打印它们相对于原始数组的索引值。
Python3
# importing the module
import numpy as np
# creating the array
arr = np.array([23, 12, 1, 3, 4, 5, 6])
print("The Original Array Content")
print(arr)
# value of k
k = 4
# using np.argpartition()
result = np.argpartition(arr, k)
# k smallest number of array
print(k, "smallest elements of the array")
print(arr[result[:k]])
输出:
The Original Array Content
[23 12 1 3 4 5 6]
4 smallest elements of the array
[4 3 1 5]