我想将元素从一个numpy数组复制到另一个数组,同时还要检查条件,例如如果B的元素> 1。 因此,数组A为:
array([[None, None, None],
[None, [4, 5], None],
[None, None, None]])
和数组B:
array([[0, 2, 2],
[2, 2, 0],
[0, 0, 0]])
我需要数组C
array([[None, [2], [2]],
[[2], [2, 4, 5], None],
[None, None, None]])
避免循环的最有效方法是什么?
答案 0 :(得分:0)
使用np.where
:
a = np.array([None, [1,2], None])
b = np.array([0,1,2])
np.where(b>0, a, b)
>>array([None, 1, 2], dtype=object)
旁注:数组并不是那种数据的最佳选择(请参见注释)