Python中三维变二维矩阵(用reshape)后各个维度的关系

一、

将一个5X20的二维矩阵变为一个5X10X2的三维数据。

import numpy as np
X_test = np.arange(100).reshape(5,20)

print(X_test)
X_test = X_test.reshape([X_test.shape[0], 10, 2])

得到的三维的X_test是5个二维的二维矩阵叠加而成的。

相当于,将原来5行的数据都分别reshape成了10*2的矩阵。

第一个二维矩阵为:X_test = [0, :, :]            第二个二维矩阵为:X_test = [1, :, :]                      

                                                

第三个二维矩阵为:X_test = [2, :, :]            第四个二维矩阵为:X_test = [3, :, :]

                                                 

第五个二维矩阵为:X_test = [2, :, :] 

X_test =  X_test.reshape([5,20])

再重新reshape回来后,与原始的X_test数据相同。

二、

X = np.arange(800).reshape(400,2)

x1 = X.reshape([2,20,20])

x2 = x1.reshape([2,400])

这里可以看做,将x1拉伸为一维向量后,再对这个一维向量进行reshape

x3 = x1.reshape([400,2])

x4 = x2.T   可以看到,转置与上面两者的区别,是不等同的

 

  • 13
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值