numpy 在For循环中替换多维数组中的一列

a0zr77ik  于 2022-11-10  发布在  其他
关注(0)|答案(1)|浏览(99)

当前状态:
1个多阵列np.ndarray(2000行7列)
然后我有一个函数(for循环),它一次只查看一个(2000行1列)->所以for循环将运行7次
计算结果将存储在另一个名为Out的数组中(2000行1列)
问题:
我希望将结果存储在与开始时相同的多数组中
问题:
Numpy中是否有替换函数或任何其他方法来替换它

e3bfsja2

e3bfsja21#

您可以使用数组切片来访问np.ndarray的子数组:


# Assuming 'Row-Major' storage

column = arr[:,columnIdx]

# Assigning an array of zeros to column

arr[:,columnIdx] = np.zeros_like(column)

编辑:以下是一个工作示例

import numpy as np
arr = np.arange(700).reshape(100,7)

# compute values modulo column ordinal

for columnIdx in range(7):
    column[:,columnIdx] %= columnIdx + 1

print(arr)

相关问题