Numpy数组中对每一个“其他”字段((i+j)%20)添加值
在本文中,我们将介绍如何使用numpy库将指定条件下的元素值加上给定值。
假设我们有一个numpy数组arr,其中包含随机生成的10行10列的整数值:
输出:
array([[3, 4, 2, 2, 7, 4, 4, 0, 3, 4],
[6, 4, 2, 8, 2, 5, 6, 2, 7, 7],
[7, 7, 3, 7, 4, 8, 5, 1, 9, 1],
[3, 4, 2, 1, 4, 1, 6, 9, 7, 2],
[3, 7, 4, 1, 9, 5, 4, 8, 1, 9],
[2, 6, 6, 7, 3, 3, 3, 3, 4, 3],
[6, 7, 5, 1, 0, 5, 2, 0, 8, 7],
[7, 7, 6, 5, 4, 7, 0, 8, 3, 3],
[2, 8, 0, 2, 8, 4, 6, 7, 0, 3],
[5, 5, 8, 8, 0, 3, 5, 4, 8, 6]])
现在我们想要将数组中所有(i+j)%20的元素加上5。可以通过如下方式实现:
输出:
array([[ 8, 4, 2, 7, 12, 9, 4, 0, 8, 9],
[11, 4, 7, 8, 7, 5, 11, 7, 7, 7],
[12, 7, 3, 12, 4, 13, 5, 1, 14, 6],
[ 8, 9, 2, 6, 4, 1, 6, 14, 7, 7],
[ 3, 12, 4, 1, 14, 10, 4, 8, 6, 14],
[ 7, 11, 11, 7, 3, 3, 3, 3, 9, 3],
[11, 7, 10, 6, 0, 10, 2, 0, 13, 7],
[12, 7, 6, 5, 9, 7, 0, 8, 3, 3],
[ 7, 13, 0, 2, 13, 4, 11, 7, 0, 3],
[10, 5, 13, 8, 0, 3, 5, 9, 8, 11]])
可以看到,原数组中满足条件(i+j)%20的元素已经被加上了5。
阅读更多:Numpy 教程
总结
使用numpy库可以非常方便地对数组中满足特定条件的元素进行操作。在本文中,我们演示了如何将数组中满足条件(i+j)%20的元素加上给定值的方法。需要注意的是,在操作数组时,需要使用广播功能确保数组形状一致,同时使用布尔索引来选取满足条件的元素。这种方法可以快速高效地完成对数组元素的操作,提高开发效率。