2024-09-28 18:46:43 发布
网友
我有一个[2 2 3 4 4 5 6 6 6]数组,希望从中删除所有最小值
[2 2 3 4 4 5 6 6 6]
输出应该是[3 4 4 5 6 6 6]
[3 4 4 5 6 6 6]
我试着像下面的代码一样,但它删除了一个2,留下了[2 3 4 4 5 6 6 6]
2
[2 3 4 4 5 6 6 6]
import numpy as np a = np.array([2,2,3,4,4,5,6,6,6]) b= np.delete(a, a.argmin())
Python有一个用于查找min的内置函数
min
val = min(values) b =[v for v in values if v != val]
numpy数组的大小是不可变的,但您可以使用以下简单的oneliner创建此数组的副本:
arr = np.array([2, 2, 3, 4, 4, 5, 6, 6, 6]) arr[arr!=np.min(arr)]
array([3, 4, 4, 5, 6, 6, 6])
您可以获得大于最小值的索引,并像this answer中那样对数组进行切片
out = a[a>a.min()]
注意,这比使用链接答案中解释的np.delete更快
np.delete
Python有一个用于查找
min
的内置函数numpy数组的大小是不可变的,但您可以使用以下简单的oneliner创建此数组的副本:
输出:
您可以获得大于最小值的索引,并像this answer中那样对数组进行切片
注意,这比使用链接答案中解释的
np.delete
更快相关问题 更多 >
编程相关推荐