当我使用np.copyto
时,它总是返回None
:
import numpy as np
a = np.random.random((3,3))
b = np.zeros_like(a)
b[:,0] = 100
b_nonzero_mask = b.astype(bool)
c = np.copyto(a, b, where=b_nonzero_mask)
print(c) # None
该功能应如何使用?
答案 0 :(得分:-2)
在Python中,默认情况下,如果一个函数没有return语句,它将返回None
。 np.copyto
定义不返回任何内容。相反,它会改写a
。
因此,您必须事先复制a
:
import numpy as np
a = np.random.random((3,3))
b = np.zeros_like(a)
b[:,0] = 100
b_nonzero_mask = b.astype(bool)
c = np.copy(a)
np.copyto(c, b, where=b_nonzero_mask)