以前写过一篇: 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)
[[[ 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)
      [[ 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将两个二维array叠加成三维array的实现方法,尝试用“曲线救国”的方法来解决二维数组叠加成三维数组的问题。但是,天道有轮回,苍天绕过谁。好不容易把数组叠加在一块儿了,新的需求又出现了:将三维数组展开成二维数组。有去有回。相对于叠加三维数组,展开数组numpy支持得很好,只需要用好np.reshape(A,(a,b)) 函数即可。参数:A:被重新组合的数组... sum = 0 matrix = [[0, 1, 0], [0, 21, 0], [0, 12, 0]] matrix2 = [[0 for i in range(3)] for i in range(3)] matrix2[0][0] = 123 matrix2[1][1] = 123 matrix2[2][2] = 123 for i in ran
reshape(shape) : 不改变数组元素,返回一个shape形状的数组,原数组不变。是对每行元素进行处理 resize(shape) : 与.reshape()功能一致,但修改原数组 In [1]: a = np.arange(20) #原数组不变 In [2]: a.reshape([4,5]) Out[2]: array([[ 0, 1, 2, 3, 4],
今天做数据处理时,遇到了从三维数组中批量加入二维数组的需求。其中三维数组在深度学习的特征数据处理时经常会使用到,所以读者有必要对该小知识点做到清楚了解并掌握。现对三维数组中的元素位置结合代码做详细归纳总结,方便日后查阅和为网友答疑! 图示效果图: 直接贴代码: def test3D(): import numpy as np data_array = np.zeros((3, 5, 6), dtype=np.int) data_array[1, 2, 2] = 1 print(data_array) 介绍:通过np.zeros创建一个3行5列6个通道的三维数组,并给第二个通道的第一
我们生了一个维度为2的二维数组,其中有两个索引值:矩阵的行和列 transpose()函数的作用就是调换数组的行列值的索引值,类似于求矩阵的转置 arr.transpose() 我们可以直观的看到,数组的行列索引值对换,1的位置从arr(0,1)跑到了arr(1,0) 三维数组 我们继续生一个三维数组 x = np.arange(12).re
from selenium import webdriver driver = webdriver.Chrome() driver.get('https://www.baidu.com') import time time.sleep(5) driver.quit() 老师,您好,我已经配置完成了。浏览器打开以后自动退出了,怎么解决 FaceNet源码解读:史上最全的FaceNet源码使用方法和讲解(一)(附预训练模型下载) willSleep: 博主,能不能发下FaceNet预训练模型(.h5文件)在百度网盘啊,github有亿点卡... 机器学习超详细实践攻略(10):随机森林算法详解及小白都能看懂的调参指南 Ly_sixer: 请问调max_features参数的学习曲线怎么画啊? FaceNet源码解读:史上最全的FaceNet源码使用方法和讲解(一)(附预训练模型下载) __Ustinian__: 博主你好!!!!我想请教一下在使用lfw数据集运行train_tripletloss.py时出现IndexError: index 58 is out of bounds for axis 0 with size 58错误,该怎么解决呀?😭 找了很多评论和文章都没找到方法😭