我从数组开始:

np.random.seed(959)
superArray = np.random.randint(101, size=(5,3))


删除2个最小值后,我需要计算superArray的中位数。

我似乎找不到用于删除与ndarrays一起使用的值的任何方法。下面的代码是我认为的可能。

np.median(superArray.delete(superArray,[min(superArray),min(superArray)]))


当然,这对我来说是个错误,因为delete不是ndarray类型的方法,但这就是我想要的。

最佳答案

您可以np.partitionravelnp.partition在大型数组中比整体排序要快

np.random.seed(959)
superArray = np.random.randint(101, size=(5,3))
np.partition(superArray.ravel(), 2)[2:]

关于python - 如何删除ndarray中的2个最低值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58346188/

10-11 16:55