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

相关文章

python使用正则表达式匹配字符串开头并打印示例

本文实例讲述了python使用正则表达式匹配字符串开头并打印的方法。分享给大家供大家参考,具体如下: import re s="name=z1hangshan username=ff...

python读取注册表中值的方法

在Python的标准库中,_winreg.pyd可以操作Windows的注册表,另外第三方的win32库封装了大量的Windows API,使用起来也很方便。不过这里介绍的是使用_win...

Pandas 对Dataframe结构排序的实现方法

Dataframe结构放在numpy来看应该是二维矩阵的形式,每一列是一个特征,上面会有个列标题,每一行是一个样本。 对Dataframe结构的某一列进行排序方法如下: # 对df表...

python3 读写文件换行符的方法

最近在处理文本文件时,遇到编码格式和换行符的问题。 基本上都是GBK 和 UTF-8 编码的文本文件,但是python3 中默认的都是按照 utf-8 来打开。用不正确的编码参数打开,在...

详解pandas DataFrame的查询方法(loc,iloc,at,iat,ix的用法和区别)

详解pandas DataFrame的查询方法(loc,iloc,at,iat,ix的用法和区别)

在操作DataFrame时,肯定会经常用到loc,iloc,at等函数,各个函数看起来差不多,但是还是有很多区别的,我们一起来看下吧。 首先,还是列出一个我们用的DataFrame,注意...