Python根据特定值合并两个数组

标签 python arrays numpy

我有两个数组

array1 = [[ 37.06853867  30.22016525  24.13002205  23.74543762  28.23823929
   29.85162544]
 [ 36.39044189  27.74254036  20.38976479  21.59453011  30.35881233
   34.24060822]
 [ 34.39845657  26.73529243  22.30514145  27.13420486  38.91122437
   48.05885315]
 [ 38.22272491  40.40032578  43.52813721  47.13837051  54.32110977
   64.78022003]
 [ 47.3240242   57.3037529   62.097332    62.22722626  62.09951782
   64.59619141]
 [ 29.9451561   37.32279587  41.77493668  45.76233673  49.91016388
   53.55546951]]


array2 = [[255 255 255 255 255 255]
 [255 255   1 1 255 255]
 [255 255 255 1 255 255]
 [255 255 255 255 255 255]
 [255 255 255 255 255 255]
 [255 255 255 255 255 255]]

我想把它们加在一起。但我只想将 array2 中的值添加到 array1(如果值不是 255)。我该怎么做?

最佳答案

这是一种无需更改 array1 或 array2 的值​​即可实现的方法:

mask = (array2 != 255)
result = array1.copy()
result[mask] += array2[mask]
print(result)

关于Python根据特定值合并两个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20206308/

相关文章:

python - 根据条件重复数据帧行

arrays - 在 VBA 中用 2D 数组填充 3D 数组

python - 如何使仿射变换矩阵成为透视变换矩阵?

python - 如何改变随机数生成器在列表中移动时的概率?

python - 语法错误: invalid token python 3

python - 每 n 个位置将一个列表的值插入到另一个列表中

python - Metropolis-Hasting算法求解高斯积分的实现

php - 检查数组中是否存在值

java - 如何在 JAVA 中使用正则表达式从字符串中提取特定文本

python - 浮点值的子集总和不起作用