将数组中的所有正值更改为1(Python)

2024-04-24 05:09:30 发布

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

所以我有几个3D数组需要加在一起。每个数组由0或1的条目组成。所有数组的维数也相同。现在,当我把这些数组加在一起时,一些值会重叠(它们确实重叠了)。但是,我只需要知道整个组合数组的结构如何,这意味着当2个或3个数组重叠时,我不需要值1、2或3。这也只需要是1,当然,只要有0,值0就需要保持为零。在

所以基本上我得到的是:

array1 = 
[[[1, 0, 0], [0, 0, 0], [0, 0, 0]],
[[0, 1, 0], [0, 0, 0], [0, 0, 0]],
[[0, 0, 1], [1, 1, 1], [0, 0, 0]]]

array2 = 
[[[1, 0, 0], [0, 1, 0], [0, 0, 0]],
[[0, 0, 0], [1, 1, 0], [0, 0, 0]],
[[0, 0, 1], [0, 1, 0], [0, 0, 0]]]

所以把它们加在一起我得到:

^{pr2}$

我想让它给我:

array_total = array1 + array2 = 
[[[1, 0, 0], [0, 1, 0], [0, 0, 0]],
[[0, 1, 0], [1, 1, 0], [0, 0, 0]],
[[0, 0, 1], [1, 1, 1], [0, 0, 0]]]

有人能给我一个提示吗?在


Tags: 条目数组结构arraytotal维数pr2array1
1条回答
网友
1楼 · 发布于 2024-04-24 05:09:30

(假设这些是numpy数组,或者array1 + array2会有不同的行为)。在

如果要“将所有正值更改为1”,可以这样做

array_total[array_total > 0] = 1

但实际上您需要的是一个数组,它有一个1,其中array1或{}有一个1,所以直接这样写:

^{pr2}$

示例:

^{3}$

相关问题 更多 >