gpt4 book ai didi

python:查找子集坐标在

转载 作者:行者123 更新时间:2023-11-28 20:59:20 26 4
gpt4 key购买 nike

我有一组坐标,并尝试找到坐标所在的那些子集。

import numpy as np
a=np.array([[[0,1,1],[1,1,1]],[[0,1,1],[2,1,1]],[[3,3,3],[2,2,2]]])

如果我尝试这样的事情:

print(np.argwhere(a==[[0,1,1]]))
print(a[[0,1,1]])
print(np.isin([0,1,1],a))

我得到:

[[0 0 0]
[0 0 1]
[0 0 2]
[0 1 1]
[0 1 2]
[1 0 0]
[1 0 1]
[1 0 2]
[1 1 1]
[1 1 2]]
[[[0 1 1]
[1 1 1]]

[[0 1 1]
[2 1 1]]

[[0 1 1]
[2 1 1]]]
[ True True True]

但我希望是这样的:

[true,true,false]

编辑

最好的情况是,如果我得到一个数组,其中只有属于已创建子集成员的所有其他坐标如下:

out = [[1,1,1],[2,1,1]]

最佳答案

使用 all(-1) 断言最后一个轴上的数组相等,然后使用 any(1) 检查第二个轴上是否存在这种情况:

(a == [0,1,1]).all(-1).any(1)
# array([ True, True, False], dtype=bool)

关于更新:

mask = (a == [0,1,1]).all(-1)
a[mask.any(1)[:,None] & ~mask]

#array([[1, 1, 1],
# [2, 1, 1]])

关于python:查找子集坐标在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49755971/

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