np.newaxis

功能:为numpy.ndarray(多维数组)增加一个轴

np.newaxis 在使用和功能上等价于 None,查看源码发现:newaxis = None,其实就是 None 的一个别名。

举例:

原始数据

x_data = np.linspace(-1,1,5)
print(x_data,x_data.shape)

用np.newaxis加新的轴和用None加新的轴得到的结果一致

x1_data = np.linspace(-1,1,5)[:,np.newaxis]
print('x1_data',x1_data,x1_data.shape) x2_data = np.linspace(-1,1,5)[:,None]
print('x2_data',x2_data,x2_data.shape)

对比一下在前面、后面加newaxis的不同

在前面加相当于在前面加上了一个维度;

在后面加相当于在后面加上了一个维度,也起到了转置的作用

x_data = np.linspace(-1,1,5)[:,np.newaxis]
print('x_data',x_data)
print(x_data.shape) y_data = np.linspace(-1,1,5)[np.newaxis,:]
print('y_data',y_data)
print(y_data.shape)

多维情况是一样的

x1_data = np.linspace(-1,1,24).reshape(2,3,4)
y1_data = x1_data[:,np.newaxis,:,:]
print('x1_data',x1_data)
print(x1_data.shape)
print('y1_data',y1_data)
print(y1_data.shape)

适用场景:

经常会遇到这样的问题,需要从数组中取出一部分的数据,也就是取出“一片”或者“一条”,比如需要从二维数组里面抽取一列,取出来之后维度却变成了一维,假如我们需要将其还原为二维,就需要上面的方法了

参考文献:

【1】np.newaxis 为 numpy.ndarray(多维数组)增加一个轴

【2】numpy添加新的维度:newaxis的方法

  

  

numpy.newaxis()的更多相关文章

  1. Python:numpy.newaxis

    x1[:,np.newaxis]:增维,转置 从字面上是插入新的维度的意思 demo1: 针对一维的情况 >>> b = np.array([1, 2, 3, 4, 5, 6]) & ...

  2. 第三十三节,目标检测之选择性搜索-Selective Search

    在基于深度学习的目标检测算法的综述 那一节中我们提到基于区域提名的目标检测中广泛使用的选择性搜索算法.并且该算法后来被应用到了R-CNN,SPP-Net,Fast R-CNN中.因此我认为还是有研究的 ...

  3. Python问题汇总

    1.dict is not callable tree是一个字典类型. tree("left") -> tree["left"]   2.list ind ...

  4. 103 保序回归 isotonic regression

    103 保序回归 isotonic regression 2016-03-30 11:25:27 bea_tree 阅读数 6895   版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权 ...

  5. ndarray数组的索引和切片

    索引:获取数组中特定位置元素的过程 切片:获取数组元素子集的过程 import numpy as np 一维数组 一维数组的索引和切片与python中的列表类似 索引:若元素个数为n,则索引下标可表示 ...

  6. Pandas_基础_全

    Pandas基础(全) 引言 Pandas是基于Numpy的库,但功能更加强大,Numpy专注于数值型数据的操作,而Pandas对数值型,字符串型等多种格式的表格数据都有很好的支持. 关于Numpy的 ...

  7. 基于BP神经网络的手MNIST写数字识别

    import numpy import math import scipy.special#特殊函数模块 import matplotlib.pyplot as plt #创建神经网络类,以便于实例化 ...

  8. numpy np.newaxis 的实用

    >> type(np.newaxis) NoneType >> np.newaxis == None True np.newaxis 在使用和功能上等价于 None,其实就是 ...

  9. np.newaxis 为 numpy.ndarray(多维数组)增加一个轴

    >> type(np.newaxis) NoneType np.newaxis 在使用和功能上等价于 None,其实就是 None 的一个别名. 1. np.newaxis 的实用 > ...

随机推荐

  1. TF-IDF概念

    之前就了解过TF-IDF,现在做一个回顾. 概念: TF(Term Frequency)词频:一个文档中关键词出现的次数/该文档的总词数, IDF(Inverse Document Frequency ...

  2. Docker Weave网络部署

    Weave在Docker主机之间实现Overlay网络,使用业界标准VXLAN封装,基于UDP传输,也可以加密传输.Weave Net创建一个连接多个Docker主机的虚拟网络,类似于一个以太网交换机 ...

  3. SSH框架下的表单重复提交

    前几天做了一个功能,是在某个操作后,刷新父页面的,刷新时弹出了下面图的框: 网上查了之后发现这个框是表单重复提交时出现的.分析后发现,这个页面的上一个动作是form submit(在ssh框架下),这 ...

  4. dma传输数据长度,在启动前必须确保是一个大于0的数字

    否则将导致不能接受数据

  5. IAR 跳转路径错误

    拷贝的代码 右键跳转的时候提示路径错误,是因为别人编译的中间文件 .ojb文件在你的电脑上不一样,拷贝代码后第一件事就是清楚obj中间连接文件,然后重新在你的电脑上编译.

  6. 2018中国大学生程序设计竞赛 - 网络选拔赛 Dream hdu6440 Dream 给出一个(流氓)构造法

    http://acm.hdu.edu.cn/showproblem.php?pid=6440 题意:让你重新定义任意一对数的乘法和加法结果(输出乘法口诀表和加法口诀表),使得m^p+n^p==(m+n ...

  7. C和C指针小记(二)-注释,三字母词,编译选项

    课后的几个问题: 1) int x/*blah blah*/y; 会有什么问题? 答:编译器报错,语句中不应该有多行注释 单行注释也应该放到语句后面或者独自占一行. 2)打出下面一行字符串(包括引号) ...

  8. Page8:对偶原理以及结构分解[Linear System Theory]

    内容包含状态转移矩阵的对偶性.方块图的对偶性.时序的对偶性以及对偶性原理,能控能观标准型及其结构分解

  9. [dpdk] 使用pktgen生成tcp三次握手的测试流量

    pktgen: http://dpdk.org/browse/apps/pktgen-dpdk/refs/ git clone git://dpdk.org/apps/pktgen-dpdk pktg ...

  10. [algorithm][security] 模糊哈希(转)

    modsecurity中用到:  http://ssdeep.sourceforge.net/ 原文:http://www.xuebuyuan.com/1536438.html 最近看一篇paper, ...