python将三维数组展开成二维数组的实现

yipeiwu_com6年前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设计】。

相关文章

浅谈pytorch卷积核大小的设置对全连接神经元的影响

浅谈pytorch卷积核大小的设置对全连接神经元的影响

3*3卷积核与2*5卷积核对神经元大小的设置 #这里kerner_size = 2*5 class CONV_NET(torch.nn.Module): #CONV_NET类继承nn...

Django上线部署之IIS的配置方法

环境: 1 .Windows Server 2016 Datacenter 64位 2 .SQL Server 2016 Enterprise 64位 3 .Python 3.6.0 6...

Python获取Redis所有Key以及内容的方法

一、获取所有Key # -*- encoding: UTF-8 -*- __author__ = "Sky" import redis pool=redis.Connection...

Python判断文件或文件夹是否存在的三种方法

常在读写文件之前,需要判断文件或目录是否存在,不然某些处理方法可能会使程序出错。所以最好在做任何操作之前,先判断文件是否存在。 这里将介绍三种判断文件或文件夹是否存在的方法,分别使用os...

Python简单删除列表中相同元素的方法示例

本文实例讲述了Python简单删除列表中相同元素的方法。分享给大家供大家参考,具体如下: 去除列表中重复的元素,非常简单,直接上代码: a = [11, 21, 3, 4, 3, 2...