将值(0除外)从数组2复制到数组1

2024-04-18 23:06:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个形状相同的纽比阵列。现在我要将除0之外的所有值从数组2复制到数组1。在

数组1:

[1, 1, 1]
[1, 1, 1]
[1, 1, 1]

数组2:

^{pr2}$

结果如下:

[1, 2, 1]
[4, 1, 1]
[6, 6, 1]

在Python中这是怎么可能的?


Tags: 数组形状pr2
2条回答

^{}将返回不是0的数组的索引。在

idx_nonzero = B.nonzero()
A[idx_nonzero] = B[idx_nonzero]

{{cda}也只在cd1}中传递了什么。因此,相当于,我们可以

^{pr2}$

这个解决方案已经到位。如果需要创建新数组,请参见@jp_data_analysis' answer。在

np.where支持此功能。下面的解决方案创建一个新数组。有关就地替换,请参见@Tai's answer。在

A = np.array(
[[1, 1, 1],
[1, 1, 1],
[1, 1, 1]])

B = np.array(
[[0, 2, 0],
[4, 0, 0],
[6, 6, 0]])

C = np.where(B==0, A, B)

# [1, 2, 1]
# [4, 1, 1]
# [6, 6, 1]

相关问题 更多 >