需求:根据已有的多个列表,利用numpy.array()函数创建三维以上数组
格式概述:每一维用一个 [] 括起,不同维之间用 , 逗号间隔,最后总体再用 [] 括起!!!
说明:列表肯定是一维的,多个列表一行一行堆叠形成二维,多个这样的二维构成三维,以此类推可得更高维矩阵(一般3维以上就不用numpy.array()这种方法创建了)。
注意:高维数组,以三维(5,2,3)为例:前面的5代表页数,即表示(2,3)这样的二维矩阵有5个。即:前面的数,永远代表比它"低一维"的数组有多少个!
(1)创建二维数组的例子:
import numpy as np
a = [1, 2, 3] ; b = [4, 5, 6]; c = [7, 8, 9]
w1 = np.array( [a,b,c] ) # 多个一维数组,一行一行堆叠
print(w1)
# 结果:
[[1 2 3]
[4 5 6]
[7 8 9]]
(2)创建三维数组的例子1:(2,3,3)
import numpy as np
a = [1, 2, 3] ; b = [4, 5, 6]; c = [7, 8, 9]
# 多个一维数组,一行一行堆叠形成一个二维数组(3x3)
# 两个二维数组,构成三维数组(2x3x3)
# 最后再用一个 [] 把整体括起来!
w2 = np.array( [ [a,b,c], [a,b,c] ] )
print(w2)
# 结果:
[[[1 2 3]
[4 5 6]
[7 8 9]]
[[1 2 3]
[4 5 6]
[7 8 9]]]
(3)创建三维数组的例子2:(4,2,3)
import numpy as np
a = [1, 2, 3] ; b = [4, 5, 6]; c = [7, 8, 9]
# 每一页 / 每一个二维数组内容不同:
w3 = np.array( [ [a,b], [a,c], [b,c], [a,a] ] )
print(w3)
# 结果:
[[[1 2 3]
[4 5 6]]
[[1 2 3]
[7 8 9]]
[[4 5 6]
[7 8 9]]
[[1 2 3]
[1 2 3]]]
补充:最快验证自己创建的数组是否满足自己的维度需求的方式,就是看打印的结果中,最外面有几个 ] 中括号,有几个 ] 就是几维数组!如本文中第3个例子,打印结果最外层有3个 ],说明满足3维的要求。