【发布时间】:2018-08-19 20:37:00
【问题描述】:
arr 是一个 n 维 numpy 数组。
如何用奇数个索引改变 arr 的每个元素的符号?
例如,arr[0, 1, 2] 需要更改符号,因为它有一个索引总和 0 + 1 + 2 = 3,这是奇数。
当我将arr 转换为一个列表时,我注意到列表中的每个第二个元素都是需要更改符号的元素。
另一个例子:
Original array:
[[[ 0 1 2]
[ 3 4 5]
[ 6 7 8]]
[[ 9 10 11]
[12 13 14]
[15 16 17]]
[[18 19 20]
[21 22 23]
[24 25 26]]]
Array with signs changed:
[[[ 0 -1 2]
[ -3 4 -5]
[ 6 -7 8]]
[[ -9 10 -11]
[12 -13 14]
[-15 16 -17]]
[[18 -19 20]
[-21 22 -23]
[24 -25 26]]]
【问题讨论】:
-
很不清楚你在问什么。请澄清。
-
欢迎来到 SO。请提供 minimal reproducible example。
-
你的意思是你想将每个元素乘以 -1 或 +1,+-1 形成一个像棋盘一样的矩阵?
-
矩阵 a=i,j [1,2,3, 4,5,6, 7,8,9] 例如 a[0][0]=1 a[1][2 ]=6 如果索引的总和是奇数,你必须将它乘以 -1,所以 a[0][0]=1 将是 -1 而 a[1][2]=6 将是 -6
-
审稿人请注意这个问题已经被一位乐于助人的编辑澄清了。
标签: python python-3.x python-2.7 numpy array-broadcasting