注:reshape 方法具有返回值,不会改变原有数据
import numpy as np
t1 = np.arange(12)
# [ 0 1 2 3 4 5 6 7 8 9 10 11]
t1.shape
# 输出(12,),表示 t1 是一个一维数组
t2 = t1.reshape((3, 4))
# [[ 0 1 2 3]
# [ 4 5 6 7]
# [ 8 9 10 11]]
t2.shape
# (3, 4),表示 t2 是一个二维数组
t3 = np.arange(24).reshape(2, 2, 6)
# [[[ 0 1 2 3 4 5]
# [ 6 7 8 9 10 11]]
#
# [[12 13 14 15 16 17]
# [18 19 20 21 22 23]]]
t3.shape
# (2, 2, 6),表示 t3 是一个三维数组
# 使用 reshape 和 shape 将一个高维度数组转换为一维数组
# t3.shape[0]*t3.shape[1],长乘宽,求出数据个数
t4 = t3.reshape((t3.shape[0]*t3.shape[1]*t3.shape[2],))
# [ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23]
t4.shape
# (24,), 表示 t4 是一个一维数组
# 与 t4 相同的 numpy 自带的方法, flatten ,将一个多维数组展开成一个一维数组
t5 = t3.flatten()
# [ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23]
t5.shape
# (24,), 表示 t5 是一个一维数组
# 数组与一个数进行直接计算时,会将数组中的值全部进行相应计算
t6 = t1 + 2
# [ 2 3 4 5 6 7 8 9 10 11 12 13]
t7 = t1 / 2
# [0. 0.5 1. 1.5 2. 2.5 3. 3.5 4. 4.5 5. 5.5]
# 数组的计算,如果 行 或 列 有相同的个数。那么可以进行计算
# 一维数组 与 一维数组 计算
t8 = np.arange(5)
# [0 1 2 3 4]
t9 = np.arange(5, 10)
# [5 6 7 8 9]
# 一维数组 与 多维数组计算
t10 = np.arange(10).reshape(2, 5)
# [[0 1 2 3 4]
# [5 6 7 8 9]]
# t9与t10,他们的形状相同,进行列的计算
t10 = t9 + t10
# [[ 5 7 9 11 13]
# [10 12 14 16 18]]