gpt4 book ai didi

python - Numpy argwhere 不等式条件

转载 作者:行者123 更新时间:2023-12-01 05:04:04 24 4
gpt4 key购买 nike

假设我有一个 3000x100 的 numpy 数组 np_array。如果我想找到元素大于 1 的索引,我会这样做:

np.argwhere(np_array > 1)

现在假设我有一个 3000x101 矩阵,我想找到前 100 列中的所有元素,其中一个元素大于 1,并且对于最后一列中的相应行,该元素小于 0,是有一些 numpy 方法可以在不编写循环的情况下做到这一点吗?

最佳答案

构造一个 bool 数组,表示前 100 列中哪些行的元素大于 1:

numpy.any(np_array[:, :100] > 1, axis=1)

以及一个数组,表示哪些行的最后一列中的元素小于 0:

np_array[:, 100] < 0

并对这两个数组执行逐元素 AND 运算:

numpy.any(np_array[:, :100] > 1, axis=1) & (np_array[:, 100] < 0)

获取形状为 (3000,) 的 bool 数组,表示哪些行符合您的条件。如果需要,您可以通过 argwhere 来获取索引:

numpy.argwhere(numpy.any(np_array[:, :100] > 1, axis=1) & (np_array[:, 100] < 0))

关于python - Numpy argwhere 不等式条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25437213/

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