使用哪些内置的numpy函数(由于性能问题),我可以遍历一个数组,可以访问行号和列号以及元素数据,就像我使用循环一样
dims=array.shape
for i in range (dims[0]):
for j in range (dims[1]):
...
用于获得协方差矩阵的标准偏差。
答案 0 :(得分:0)
看起来就像你正在寻找numpy.nditer
。以下是代码示例:
import numpy as np
array = np.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.]
]
)
it = np.nditer(array, flags=['multi_index'])
while not it.finished:
print(it[0], it.multi_index)
it.iternext()
在此示例中,您将收到以下输出:
0.0 (0, 0)
1.0 (0, 1)
2.0 (0, 2)
3.0 (0, 3)
4.0 (0, 4)
5.0 (0, 5)
6.0 (0, 6)
7.0 (0, 7)
8.0 (1, 0)
9.0 (1, 1)
10.0 (1, 2)
11.0 (1, 3)
12.0 (1, 4)
13.0 (1, 5)
14.0 (1, 6)
15.0 (1, 7)
16.0 (2, 0)
17.0 (2, 1)
18.0 (2, 2)
19.0 (2, 3)
20.0 (2, 4)
21.0 (2, 5)
22.0 (2, 6)
23.0 (2, 7)