- ravel多维转一维
- reshape修改为指定形状
- .T矩阵转置
- resize避免创建新数组
arr0 = np.arange(24)
print('arr0: ', arr0, arr0.dtype, arr0.ndim)
arr46 = arr0.reshape((4, 6))
arr46_1 = arr46.reshape(24)
arr46_2 = arr46.reshape((24,))
arr2 = arr46.ravel()
print("将多维数组转为一维数组",S arr2, "新数组的形状:", arr2.shape, arr2.ndim)
a.resize(2, 10)
print("resize修改后形状为:", a.shape)
arr3 = arr2.T
arr3 = arr2.transpose()
arr3 = arr3.swapaxes(1, 0)
print('类型调整')
arr_i1_1 = arr0.astype('i1')
arr_i1_2 = np.array(arr0, dtype=np.int16)
print('arr_i1_1: ', arr_i1_1, arr_i1_1.dtype)
print('arr_i1_2: ', arr_i1_2, arr_i1_2.dtype)
- 堆叠:将多个数组组合称一个数组。
- np.column_stack可以将一维叠到二维
- np.newaxis给数组添加一个新轴,将一维转为二维
a = np.vstack((arr0, arr1))
print("沿垂直方向堆叠:", a)
b = np.hstack((arr0, arr1))
print("沿水平方向堆叠", b)
c = np.column_stack((arr2, arr3))
print("沿垂直方向堆叠:", c)
d = np.column_stack((arr2[:, np.newaxis], arr3[:, np.newaxis]))
print("添加新轴然后进行堆叠:", d)
print("水平方向拆分:")
data = np.hsplit(arr0, 2)
for item in data:
print(item)
print("垂直方向拆分:")
data = np.vsplit(arr0, 2)
print(data)
print("指定方向拆分:")
data = np.array_split(arr0, 5)
print(data)