python将三维数组展开成二维数组的实现
以前写过一篇:python实现把两个二维array叠加成三维array示例
这篇文章尝试用“曲线救国”的方法来解决二维数组叠加成三维数组的问题。
但天道有轮回,苍天绕过谁。好不容易把数组叠加在一块儿了,新的需求又出现了:将三维数组展开成二维数组。有借有还,再借不难。今天就来解决把三维数组展开成二维数组的问题。
相对于叠加三维数组,numpy对展开数组支持得很好,只需要用好np.reshape(A,(a,b)) 函数即可。
用到的参数:
A:需要被重新组合的数组
(a,b): 各个维度的长度。比如要想展开成二维数组,那么(a,b)就是展开成a行b列。
当然,如果某一个维度长度不确定,也可以用-1代替。
看下面这个例子:
A = np.reshape(np.arange(24),(4,3,2)) ##生成一个数值从0到23,维度为(4,3,2)的数组 print(A) print('A的维度:',A.shape) B = np.reshape(A,(-1,2)) print(B) print('B的维度:',B.shape)
结果:
A: [[[ 0 1] [ 2 3] [ 4 5]] [[ 6 7] [ 8 9] [10 11]] [[12 13] [14 15] [16 17]] [[18 19] [20 21] [22 23]]] A的维度:(4,3,2) B: [[ 0, 1], [ 2, 3], [ 4, 5], [ 6, 7], [ 8, 9], [10, 11], [12, 13], [14, 15], [16, 17], [18, 19], [20, 21], [22, 23]] B的维度:(12, 2)
可以看到,原来的(4,3,2)维的数组被展开成了(12,2)维的数组,而且最后一维的相对位置不变。
以上这篇python将三维数组展开成二维数组的实现就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
浅谈python中scipy.misc.logsumexp函数的运用场景
下面小编就为大家带来一篇浅谈python中scipy.misc.logsumexp函数的运用场景。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧2016-06-06Django使用list对单个或者多个字段求values值实例
这篇文章主要介绍了Django使用list对单个或者多个字段求values值实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2020-03-03python3 自动识别usb连接状态,即对usb重连的判断方法
今天小编就为大家分享一篇python3 自动识别usb连接状态,即对usb重连的判断方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2019-07-07
最新评论