我有两个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蒙面数组来屏蔽B中的“ -1 ”
谢谢
答案 0 :(得分:4)
假设您要为a
的每个位置堆叠b
和b>=0
:
check = (b>=0)
c = np.vstack((a[check], b[check]))
应该做的工作......
答案 1 :(得分:0)
也许使用无符号值?
unsigned int array[2] = {0, 1};
http://en.wikipedia.org/wiki/Integer_(computer_science)#value_and_representation
答案 2 :(得分:0)
如果您只需要堆叠一维数组,并且从B
中删除负数将使其形状与A
相同,则应该可以使用:
np.vstack( (A, B[B >= 0.0]) )