gpt4 book ai didi

python - 使用数组运算过滤 numpy

转载 作者:行者123 更新时间:2023-12-01 02:18:25 25 4
gpt4 key购买 nike

我正在使用 python 并尝试过滤二维数组以仅包含具有特定总和且不包含元素 0 的数组。

其他教程似乎展示了如何过滤数组以获取满足条件的某些元素,例如使用 numpy.where ,但我试图只获取满足条件的某些数组,当然不使用循环,而是使用 numpy方法。

与此操作类似,但使用数组和 numpy:

import itertools

list_o_tuples = list(filter(lambda x: sum(x)==10 and 0 not in x,
itertools.combinations(range(10),3)))
#returns [(1, 2, 7), (1, 3, 6), (1, 4, 5), (2, 3, 5)]

最佳答案

我想这就是你想要的:

test = np.array(list(itertools.combinations(range(10),3)))
mask = (test.sum(axis=1) == 10) & (test.all(axis=1))
test[mask]

为了提高安全性/可读性,您可能需要使用 (test != 0).all(axis=1) 而不是 test.all(axis=1).

关于python - 使用数组运算过滤 numpy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48161132/

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