Answers:
只需遍历数组的转置即可:
for column in array.T:
some_function(column)
这应该给你一个开始
>>> for col in range(arr.shape[1]):
some_function(arr[:,col])
[1 2 3 4]
[99 14 12 43]
[2 5 7 1]
对于三维数组,您可以尝试:
for c in array.transpose(1, 0, 2):
do_stuff(c)
请参阅有关array.transpose
工作原理的文档。基本上,您要指定要移动的尺寸。在这种情况下,我们将第二维(例如列)移动到第一维。
例如,您要查找矩阵中每一列的平均值。让我们创建以下矩阵
mat2 = np.array([1,5,6,7,3,0,3,5,9,10,8,0], dtype=np.float64).reshape(3, 4)
均值的函数是
def my_mean(x):
return sum(x)/len(x)
执行所需的操作并将结果存储在结肠向量“结果”中
results = np.zeros(4)
for i in range(0, 4):
mat2[:, i] = my_mean(mat2[:, i])
results = mat2[1,:]
结果是:array([4.33333333,5.,5.66666667,4.])