今天在使用np.array()初始化时遇到了一个问题,初始化后的数组并不能使用[a,b]的方式进行访问。
正确方式应该如下
import numpy as np
array1 = [[[1, 2, 3], [1, 2, 3], [1, 2, 3]],
[[4, 5, 6], [4, 5, 6], [4, 5, 6]],
[[7, 8, 9], [7, 8, 9], [7, 8, 9]]]
result = np.array(array1)
print result[1, 2, 2] # 6
由于构造的是人体的面的三维数组,一个面可能有三个点到五个点,并不是一个标准的矩阵,所以在初始化时会有问题。
如
import numpy as np
array1 = [[[1, 2, 3], [1, 2, 3], [1, 2, 3]],
[[4, 5, 6], [4, 5, 6], [4, 5, 6]],
[[7, 8, 9], [7, 8, 9], [7, 8, 9], [7, 8, 9]]]
result = np.array(array1)
print result[1, 2, 2] # IndexError: too many indices for array
改进的方法构造标准的矩阵在使用numpy.array()吧。