如何使用Python中的numpy将数组的值替换为另一个数组

时间:2018-05-28 14:24:52

标签: python arrays numpy

我想将数组B(没有循环)放在数组A上,起始索引为A [0,0]

A=np.empty((3,3))
A[:] = np.nan
B=np.ones((2,2))

结果应为:

array([[  1.,   1.,  nan],
       [  1.,   1.,  nan],
       [ nan,  nan,  nan]])

我尝试了numpy.place(arr, mask, vals)numpy.put(a, ind, v, mode='raise'),但我必须找到掩码或所有索引。

怎么做?

1 个答案:

答案 0 :(得分:5)

使用索引

将其指定到您想要的位置
import numpy as np
A = np.empty((3,3))
a[:] = np.nan
B = np.ones((2,2))
A[:B.shape[0], :B.shape[1]] = B



array([[1.00000000e+000, 1.00000000e+000, nan],
       [1.00000000e+000, 1.00000000e+000, nan],
       [nan, nan, nan]])