#数组的形状 shape
#一维数组
a=np.array([1,2,3])
print(a.shape)
print("#"*44)
#二维数组
a1=np.array([[1,2,3],[6,7,8]])
print(a1.shape)
print("#"*44)
#三维数组
a2=np.array([
[
[1,2,3],[6,7,8]
],
[
[11,12,13],[14,15,16]
]
])
print(a2.shape)
print("#"*44)
a3=a2.reshape((12,))
print(a3)
print(a3.ndim)
print(a3.size)
print(a3.itemsize)
输出结果:(3,)
############################################
(2, 3)
############################################
(2, 2, 3)
############################################
[ 1 2 3 6 7 8 11 12 13 14 15 16]
1
12
4
#总结:
1. 数组一般达到3维就已经很复杂了,不太方便计算了,所以我们一般都会把3维以上的数组转换成2 维数组来计算。
2.通过 ndarray.ndim 可以看到数组的维度。
3.通过 ndarray.shape 可以看到数组的形状(几行几列) , shape是一个元组, 里面有几个元素代表 是几维数组。
4.通过 ndarray.reshape 可以修改数组的形状。条件只有一个, 就是修改后的形状的元素个数必须和 原来的个数一致。比如原来是(2, 6) , 那么修改完成后可以变成(3, 4) , 但是不能变成(1, 4) 。reshape 不会修改原来数组的形状,他只会将修改后的结果返回。
5.通过 nd array.size 可以看到数组总共有多少个元素。
6.通过 ndarray.itemsize 可以看到数组中每个元素所占内存的大小, 单位是字节。 (1个字节=8 位)。|