文章目录

  • 前言
  • 一、数组的升维
    • 1. np.atleast_2d(array) 转为二维数组
    • 2. np.atleast_3d(array) 转为三维数组
    • 3. array[:,np.newaxis] 升维一次 n行一列
    • 4. array[np.newaxis,:] 升维一次 一行n列
    • 5. array.reshape(-1,1) 变成n行一列
    • 6. array.reshape(1,-1) 变成一行n列
    • 7. np.expand_dims(a, axis)
  • 二、数组的降维
    • 1. array.ravel()
    • 2. np.squeeze(array)
    • 3. array.reshape(-1)
    • 4.array.flatten():返回源数据的副本
  • 注意

前言

numpy数组的升维和降维


一、数组的升维

1. np.atleast_2d(array) 转为二维数组

a = np.array([1,2,3,4,5])
>array([1, 2, 3, 4, 5])
#将数组升为二维数组
a = np.atleast_2d(a)
>array([[1, 2, 3, 4, 5]])
#通过转置来改变二维数组的形状
a = a.T
>array([[1],[2],[3],[4],[5]])

2. np.atleast_3d(array) 转为三维数组

a = np.array([1,2,3,4,5])
>array([1, 2, 3, 4, 5])
#将数组升为三维数组
a = np.atleast_2d(a)
>array([[[1],[2],[3],[4],[5]]])

3. array[:,np.newaxis] 升维一次 n行一列

a = np.array([1,2,3,4,5])
a[:,np.newaxis]
>array([[1],[2],[3],[4],[5]])

4. array[np.newaxis,:] 升维一次 一行n列

a = np.array([1,2,3,4,5])
a[np.newaxis:,]
>array([[1, 2, 3, 4, 5]])

5. array.reshape(-1,1) 变成n行一列

a = np.array([1,2,3,4,5])
a.reshape(-1,1)
>array([[1],[2],[3],[4],[5]])

6. array.reshape(1,-1) 变成一行n列

a = np.array([1,2,3,4,5])
a.reshape(1,-1)
>array([[1, 2, 3, 4, 5]])

7. np.expand_dims(a, axis)

axis=0

a = np.array([1,2,3,4,5])
np.expand_dims(a, axis=0)
>array([[1, 2, 3, 4, 5]])

axis=1

a = np.array([1,2,3,4,5])
np.expand_dims(a, axis=1)
>array([[1],[2],[3],[4],[5]])

二、数组的降维

1. array.ravel()

a = np.array([[1,2,3,4,5]])
a.ravel()
>array([1, 2, 3, 4, 5])

2. np.squeeze(array)

a = np.array([[1,2,3,4,5]])
np.squeeze(a)
>array([1, 2, 3, 4, 5])

3. array.reshape(-1)

a = np.array([[1,2,3,4,5]])
a.reshape(-1)
>array([1, 2, 3, 4, 5])

4.array.flatten():返回源数据的副本

a = np.array([[1,2,3,4,5]])
a.flatten()
>array([1, 2, 3, 4, 5])

注意

矩阵可以通过转置(array.T或array.transpose() )来生成想要的m行n列或n行m列

import numpy as np
a = np.array([1,2,3,4,5])
>array([[1, 2, 3, 4, 5, 6]])a.shape
>(1,6)a = a.T
>array([[1],[2],[3],[4],[5],[6]])a.shape
>(6, 1)

Numpy升维和降维相关推荐

  1. 形象理解线性代数的本质(三) 矩阵的升维和降维

    引子:降维打击 科幻小说<三体>里一种很魔幻的攻击方法--降维打击,以其神奇的作用方式和巨大的威力刷新了我们的三观.而在矩阵乘法计算中,这种降维打击时刻存在着.本节讲解一下矩阵乘法中造成的 ...

  2. numpy矩阵操作 升维和降维

    1.numpy升维 比如维度由(5,)变为(5,1) import numpy as np a=np.random.randn(5) b=np.expand_dims(a,axis=1) print( ...

  3. Java Stream map flatMap mapMulti的升维和降维

    //升维List<Integer> list = List.of(4, 5, 6);System.out.println("第1个");//mapMulti产生额外的一 ...

  4. resnet网络中1*1卷积核如何进行升维和降维

    左图是resnet34的残差结构,右图是resnet101.152等的残差结构. 右图中,输入图像有256个维度,用64个11256的卷积核对输入图像进行运算,得到64维度,即11卷积核对图像进行了降 ...

  5. 阿里云机器智能首席科学家闵万里:数据升维和智能降维,打造智能工业互联网平台...

    波士顿咨询曾在<工业4.0--未来生产力和制造业发展前景>报告中指出,基于云计算为社会带来的强大计算能力,人工智能将为中国制造业带来25%的生产效率提升,创造额外附加值6万亿. 在过去的一 ...

  6. GIS地理信息系统的升维降维创新理念研究

    研究现状: GIS位置服务的核心不外乎"在哪里"和"怎么走"两个核心部分,而我们生存的世界是三维的,因此人类有意识以来,对世界的感知就是多维的(二维和三维).计 ...

  7. 三体归零者和盘龙鸿蒙,《三体》里归零者那么厉害,为什么不能逆转降维打击?...

    首先,大刘的<三体>是一部硬科幻. 所谓硬科幻讲得就是所有一切都是基于详实而且过硬的物理理论上的. 所设定的一切个体以及他们所承担的角色都是合理存在的,我们在归零者这样神级文明的面前都是人 ...

  8. pytorch 学习: STGCN

    1 main.ipynb 1.1 导入库 import random import torch import numpy as np import pandas as pd from sklearn. ...

  9. CNN浅析和历年ImageNet冠军模型解析

    http://www.infoq.com/cn/articles/cnn-and-imagenet-champion-model-analysis 今天在这里我给大家讲解一些深度学习中卷积神经网络的原 ...

最新文章

  1. 基于Spring+SpringMvc实现的足球队管理系统
  2. mysql安装笔记02
  3. Difference of Deep linear/ no linear neural networks
  4. 超详细在Ubuntu下安装JDK图文解析
  5. MySQL启动很慢的原因
  6. CentOS7 Ambari2.7.5编译
  7. 回文判断--链表实现
  8. MYSQL(3)---MySQL的基本概念介绍
  9. SSM-物流管理常见问题4 前端向后端传递数据
  10. 【招聘内推】猎聘网招聘推荐算法工程师
  11. WIN10系统和压缩内存占用磁盘过高的解决方案(亲测有效)
  12. WavePad如何在音乐文件上录制声音
  13. 为什么优酷的《楚乔传》画质更清晰?独家解密窄带高清技术
  14. 最具创新价值人工智能产品 Imagination PowerVR NNA再获殊荣
  15. postgrepsql 安装失败
  16. 体积 524MB,无广告!微信输入法来了
  17. 关于在线评论有用性的论文研读笔记---10篇
  18. 脑机接口数据分析工具EEGLAB04---绘制通道光谱图
  19. P4716 【模板】最小树形图(朱刘算法模板题)
  20. java语言商场打折_Java封装商场打折策略(Strategy模式)

热门文章

  1. 电动汽车(EV)电池粘合剂市场现状及未来发展趋势
  2. 【java】BeanUtils.populate()的使用
  3. 行癫:只有合作伙伴和客户成功,才是阿里云的成功
  4. NPM js 包管理器介绍
  5. Solaris下网卡绑定多个IP
  6. sxt_(001_002)_web简介
  7. 异常org.apache.ibatibinding.BindingException: Invalid bound statement (not found): com.sxt.mybatis.map
  8. 微软开发的网页浏览器-IE10(Internet Explorer 10)提供下载
  9. 我的世界服务器修改spawn,《我的世界》1.8命令方块原版/spawn指令教程
  10. 网络错误CondaHTTPError: HTTP 000 CONNECTION FAILED for url <https://repo.anaconda.com/pkgs/mai...