Подсчет элементов в коробке - PullRequest
0 голосов
/ 30 марта 2012

У меня есть часть кода, которая подсчитывает, что находится в столбцах 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

Ответы [ 2 ]

2 голосов
/ 30 марта 2012

Все еще не уверен, действительно ли это то, что вы хотите, но в любом случае:

count = ((min < X) & (X < max) & 
         (min < Y) & (Y < max) &
         (min < Z) & (Z < max)).sum()
2 голосов
/ 30 марта 2012

Одним из способов является & все три условия вместе.

В качестве альтернативы, поскольку min и max одинаковы для всех трех измерений, вы можете использовать np.minimum() и np.maximum() примерно так:

((min < np.minimum(X, Y, Z)) & (np.maximum(X, Y, Z) < max)).sum()

PS Я рекомендую назвать min и max чем-то другим, чтобы они не затеняли 1020 * встроенные команды *.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...