2013-11-15 7 views
2

У меня есть два массива: NumpyКак укладывать «Numpy замаскированного массива» и «Numpy массива»

A = [ 186., 176., 158., 180., 186., 168., 168., 164., 178., 170., 189., 195., 
     172., 187., 180., 186., 185., 168., 179., 178., 183., 179., 170., 175.] 

B = [ -1., 60., 45., 58., 70., 70., 60., 64., 68., 78., 80., 78., 
     66., 74., 84., 85., 75., 60., 71., 67., 88., -1., 70., 60.] 

Я хочу, чтобы сложить только положительные значения, и я не знаю, как?

Я использовал Numpy замаскированного массива, чтобы замаскировать "-1" s от B

спасибо

+0

«только стопка положительных значений»: что это значит? Если 'C' является результатом операции, которую вы хотите сделать, не могли бы вы добавить к своему вопросу именно то, что было бы' C'? –

ответ

3

Предполагая, что вы хотите, чтобы стек a и b для каждой позиции, где b>=0:

check = (b>=0) 
c = np.vstack((a[check], b[check])) 

должен делать эту работу ...

0

Если вам нужно только стек 1-мерные массивы и удаление отрицательных чисел от B будут мак e его форма такая же, как и A, это должно сработать:

np.vstack((A, B[B >= 0.0])) 
+0

это, вероятно, должно дать вам значение ValueError, поскольку массивы, находящиеся в штабеле, имеют разные размеры ... –

+1

@SaulloCastro Ну, неясно, чего хочет op, но да, я понимаю, что вы имеете в виду. Скорее всего, он хочет отфильтровать элементы в A и B, если элемент в B отрицательный, как говорит ваш ответ. –

Смежные вопросы