如何从numpy数组列表中“删除”一个numpy数组?

如何从numpy数组列表中“删除”一个numpy数组?,第1张

如何从numpy数组列表中“删除”一个numpy数组?

这里的问题是,当将两个numpy数组与==进行比较时,如remove()和index()方法中那样,将返回一个numpy布尔值数组(逐元素比较),该数组被解释为模棱两可。比较两个numpy数组是否相等的一种好方法是使用numpy的array_equal()函数

由于列表的remove()方法没有键参数(就像sort()一样),因此我认为您需要创建自己的函数才能执行此 *** 作。这是我做的:

def removearray(L,arr):    ind = 0    size = len(L)    while ind != size and not np.array_equal(L[ind],arr):        ind += 1    if ind != size:        L.pop(ind)    else:        raise ValueError('array not found in list.')

如果您需要更快的速度,则可以对其进行Cython化。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5674763.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存