2d图像 3d python 转 python二维转三维 |
您所在的位置:网站首页 › reshape二维变三维 › 2d图像 3d python 转 python二维转三维 |
reshape(shape) : 不改变数组元素,返回一个shape形状的数组,原数组不变。是对每行元素进行处理 resize(shape) : 与.reshape()功能一致,但修改原数组
.swapaxes(ax1,ax2) : 将数组n个维度中两个维度进行调换,不改变原数组 .flatten() : 对数组进行降维,返回折叠后的一维数组,原数组不变 将多个二维数组合并为一个三维数组 方法一: 对于两个(或者多个)同一维度的矩阵,直接利用np.array()重新构造一个array,这样可以变相起到扩展维数的作用。例如: 方法二: 但是,如果两个array,使用方法一时会出现如下结果: 可以看到:输出的维数不对,以上方法就不适用了。 那么,我们就需要利用np.append和array.reshape()函数对数组进行拼接之后重组,具体实现如下: 现在来看一下用reshape将二维数据升为三维后的数据分布情况:b的元素: b1的元素: 可以看到,原来6*6的矩阵被分为了2个3*6的矩阵。每一行的数据分布并没有改变,只是将前3行划为一个维度,然后将后三行划为另一个维度。 方法三: 相比于前两种方法,这种方法可谓“曲线救国”之典范,具体思路是:先转化成list,拼接后再转化回去。 这是因为list中的append()函数可以在添加函数的时候不改变原来list的维度。虽然没有对这种方法进行一个速度测试,但直觉来看时间复杂度挺高的,建议慎用。 这里注意: 两种类型的相互转换函数: array转list:a = a.tolist() list转array:a =np.array(a) reshape(shape) : 不改变数组元素,返回一个shape形状的数组,原数组不变。是对每行元素进行处理 resize(shape) : 与.reshape()功能一致,但修改原数组 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |