我有一部分代码可以计算给定范围的数据集的x,y和z列中的内容。我想要它做的只是计算x,y和z中的那些值。基本上我要做的是让代码计算3D框中的值的数量。如何修改以下内容?提前致谢
Sx = ((min <= X) & (X <= max)).sum() #count what is in x range
Sy = ((min <= Y) & (Y <= max)).sum() #count what is in y range
Sz = ((min <= Z) & (Z <= max)).sum() #count what is in z range
答案 0 :(得分:2)
一种方法是将&
所有三个条件放在一起。
或者,由于min
和max
对于所有三个维度都相同,因此您可以使用np.minimum()
和np.maximum()
,如下所示:
((min < np.minimum(X, Y, Z)) & (np.maximum(X, Y, Z) < max)).sum()
答案 1 :(得分:2)
仍然不确定这是否真的是你想要的,但无论如何:
count = ((min < X) & (X < max) &
(min < Y) & (Y < max) &
(min < Z) & (Z < max)).sum()