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. 树剖+线段树||树链剖分||BZOJ2238||Mst

    题面:https://www.lydsy.com/JudgeOnline/problem.php?id=2238 思路:先求个最小生成树,然后就对最小生成树上的边做树剖,依次对非树边进行处理,维护非树 ...

  2. vins-mono源码解读

    https://blog.csdn.net/q597967420/article/details/76099409

  3. [No0000F6]C# 继承

    继承是面向对象程序设计中最重要的概念之一.继承允许我们根据一个类来定义另一个类,这使得创建和维护应用程序变得更容易.同时也有利于重用代码和节省开发时间. 当创建一个类时,程序员不需要完全重新编写新的数 ...

  4. hive桶表好处

    对于每一个表(table)或者分区, Hive可以进一步组织成桶,也就是说桶是更为细粒度的数据范围划分.Hive也是针对某一列进行桶的组织.Hive采用对列值哈希,然后除以桶的个数求余的方式决定该条记 ...

  5. Python:正则表达式

    学习内容参考:Python正则表达式指南 匹配流程 语法表

  6. struts2 中 paramsPrepareParamsStack 拦截器

    struts2二次参数拦截器内容: 规定了请求的执行顺序 在struts2中,其拦截器为框架精华部分,而二次参数拦截器paramsPrepareParamsStack  对于解决数据回显,对象修改属性 ...

  7. 运维监控篇(2)_Zabbix简单的性能调优

    Zabbix是一款高性能的分布式监控报警系统.比如现在常见的家用台式机配置处理器I5-3470.内存4GB1600MHz.硬盘7200rpm就能够监控1000台左右的HOST,是的没错Zabbix就是 ...

  8. 随着应用对事务完整性和并发性要求的不断提高,MySQL才开始开发基于事务的存储引擎

    MYSQL 解锁与锁表 - 专注it - 博客园 https://www.cnblogs.com/wanghuaijun/p/5949934.html 2016-10-11 16:50 MYSQL 解 ...

  9. ORACLE DB体系结构

    . 实例:一组oracle后台进程.线程以及一个共享内存区. 连接:用户进程和实例之间的通信 会话:用户通过用户进程与实例建立的特定连接 参数文件:包含控制文件的位置和名称 分为pfile和spfil ...

  10. jmeter发送https请求