假設我有以下陣列a和子集 2x2 矩陣:
import numpy as np
np.random.seed(0)
a = np.random.randint(9,size=(3,2,2))
for i in range(a.shape[0]):
m = a[i]
print(type(m))
print(m)
<class 'numpy.ndarray'>
[[5 0]
[3 3]]
<class 'numpy.ndarray'>
[[7 3]
[5 2]]
<class 'numpy.ndarray'>
[[4 7]
[6 8]]
現在,如果我想遍歷每個矩陣,我會得到一個錯誤:
for i in range(a.shape[0]):
m = a[i]
for j in range(m):
print(j)
TypeError: only integer scalar arrays can be converted to a scalar index
這是為什么 ?無法真正除錯此打字機。
uj5u.com熱心網友回復:
您正在嘗試獲取矩陣的范圍,該范圍m不存在,因此出現錯誤。相反,您應該shape[0]像在 matrix 的第一行中那樣采用它的范圍a。
如果你想回圈到每個矩陣的每個位置,那么
import numpy as np
np.random.seed(0)
a = np.random.randint(9,size=(3,2,2))
for i in range(a.shape[0]):
m = a[i]
print(type(m))
print(m)
for i in range(a.shape[0]):
m = a[i]
print("---")
for x in range(m.shape[0]):
for y in range(m.shape[1]):
print(m[x,y])
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/424170.html
