numpy.newaxis()
undefined
np.newaxis
功能:为numpy.ndarray(多维数组)增加一个轴
np.newaxis 在使用和功能上等价于 None,查看源码发现:newaxis = None,其实就是 None 的一个别名。
举例:
原始数据
1 2 | x_data = np.linspace( - 1 , 1 , 5 ) print (x_data,x_data.shape) |
用np.newaxis加新的轴和用None加新的轴得到的结果一致
1 2 3 4 5 | 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的不同
在前面加相当于在前面加上了一个维度;
在后面加相当于在后面加上了一个维度,也起到了转置的作用
1 2 3 4 5 6 7 | 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) |
多维情况是一样的
1 2 3 4 5 6 | 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(多维数组)增加一个轴
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现