gpt4 book ai didi

python - MATLAB“任何”条件删除转换为Python

转载 作者:行者123 更新时间:2023-11-28 22:35:04 25 4
gpt4 key购买 nike

我很难理解B = A(~any(A < threshold, 2), :);(在MATLAB中)给出的数组A的维数是N x 3。
最后,我试图实现一个函数在Python中执行相同的操作(到目前为止,我有类似B = A[not any(A[:,1] < threshold), :]的东西,我知道这是不正确的),我想知道与这样一个操作等价的numpy是什么。
谢谢您!

最佳答案

其实差别不大。在MATLAB中,您使用ANY沿行执行any(...,2)。在NumPy中,您有axis来表示这些维度,对于2D数组,它将是np.any(...,axis=1)
因此,NumPy等效的实现将是-

import numpy as np

B = A[~np.any(A < threshold,axis=1),:]

这种索引在名词术语中也被称为“AA>”。由于我们沿着第一轴切片,我们可以沿着轴的其余部分丢弃所有元素。所以,它可以简化为-
B = A[~np.any(A < threshold,axis=1)]

最后,我们可以使用 slicing方法并跳过 ndarray.any参数来进一步缩短代码,如下所示-
B = A[~(A < threshold).any(1)]

关于python - MATLAB“任何”条件删除转换为Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38483062/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com