numpy中的修改维度函数
1、
import numpy as np
arr1=np.arange(4).reshape(1,4)#注意reshape是ndarray的方法
arr1.broadcast_to(a,(4,4))
array([[0, 1, 2, 3],
[0, 1, 2, 3],
[0, 1, 2, 3],
[0, 1, 2, 3]])
broadcast_to()方法返回只读视图,不能修改数据。
2、 expand_dims() :在指定的位置插入新轴来扩张形状
arr2=np.array([[1,2],[3,4]])
arr2_1=np.expand_dims(arr2,axis=1)
arr2_1
array([[[1, 2]],
[[3, 4]]])
expand_dims()函数返回原来数组的副本,得到新的数组对象。
expand_dims函数是numpy的函数,所以调用时加上np。与broadcast_to是ndarray的函数不同。
参数有原数组和指定的轴,默认增加一个轴,默认值为1(就是在该轴的位置加了个中括号)
3、 squeeze() :从给定数组形状中,删除长度为1的那个维度
arr3=np.squeeze(arr2)
arr3
array([[1, 2],
[3, 4]])
输出和arr1相同的元素。从给定数组的形状中,删除长度为1的维度(把都有的小括号都删掉)