返回顶部
首页 > 资讯 > 精选 >Numpy扩充矩阵维度和删除维度的实现示例
  • 718
分享到

Numpy扩充矩阵维度和删除维度的实现示例

2023-06-14 07:06:59 718人浏览 安东尼
摘要

这篇文章主要介绍了Numpy扩充矩阵维度和删除维度的实现示例,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。在操作矩阵的时候,不同的接口对于矩阵的输入维度要求不同,输入可能为1

这篇文章主要介绍了Numpy扩充矩阵维度和删除维度的实现示例,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

在操作矩阵的时候,不同的接口对于矩阵的输入维度要求不同,输入可能为1-D,2-D,3-D等等。下面介绍一下使用Numpy进行矩阵维度变更的相关方法。主要包括以下几种:

np.newaxis扩充矩阵维度

np.expand_dims扩充矩阵维度

np.squeeze删除矩阵中维度大小为1的维度

np.newaxis,np.expand_dims扩充矩阵维度:

import numpy as np x = np.arange(8).reshape(2, 4)print(x.shape) # 添加第0维,输出shape -> (1, 2, 4)x1 = x[np.newaxis, :]print(x1.shape) # 添加第1维, 输出shape -> (2, 1, 4)x2 = np.expand_dims(x, axis=1)print(x2.shape)

输出结果:

(2, 4)
(1, 2, 4)
(2, 1, 4)

np.squeeze降低矩阵维度:

""" squeeze 函数:从数组的形状中删除单维度条目,即把shape中为1的维度去掉 用法:numpy.squeeze(a,axis = None)  1)a表示输入的数组;  2)axis用于指定需要删除的维度,但是指定的维度必须为单维度,否则将会报错;  3)axis的取值可为None 或 int 或 tuple of ints, 可选。若axis为空,则删除所有单维度的条目;  4)返回值:数组  5) 不会修改原数组;"""import numpy as np print("#" * 40, "原始数据", "#" * 40)x = np.arange(10).reshape(1, 1, 10, 1)print(x.shape)print(x) print("#" * 40, "去掉axis=0这个维度", "#" * 40)x_squeeze_0 = np.squeeze(x, axis=0)print(x_squeeze_0.shape, x_squeeze_0) print("#" * 40, "去掉axis=3这个维度", "#" * 40)x_squeeze_3 = np.squeeze(x, axis=3)print(x_squeeze_3.shape, x_squeeze_3) print("#" * 40, "去掉axis=0, axis=1这两个维度", "#" * 40)x_squeeze_0_1 = np.squeeze(x, axis=(0, 1))print(x_squeeze_0_1.shape, x_squeeze_0_1) print("#" * 40, "去掉所有1维的维度", "#" * 40)x_squeeze = np.squeeze(x)print(x_squeeze.shape, x_squeeze) print("#" * 40, "去掉不是1维的维度,抛异常", "#" * 40)try: x_squeeze = np.squeeze(x, axis=2) print(x_squeeze.shape, x_squeeze)except Exception as e: print(e)

输出结果:

######################################## 原始数据 ########################################
(1, 1, 10, 1)
[[[[0]
   [1]
   [2]
   [3]
   [4]
   [5]
   [6]
   [7]
   [8]
   [9]]]]
######################################## 去掉axis=0这个维度 ########################################
(1, 10, 1) [[[0]
  [1]
  [2]
  [3]
  [4]
  [5]
  [6]
  [7]
  [8]
  [9]]]
######################################## 去掉axis=3这个维度 ########################################
(1, 1, 10) [[[0 1 2 3 4 5 6 7 8 9]]]
######################################## 去掉axis=0, axis=1这两个维度 ########################################
(10, 1) [[0]
 [1]
 [2]
 [3]
 [4]
 [5]
 [6]
 [7]
 [8]
 [9]]
######################################## 去掉所有1维的维度 ########################################
(10,) [0 1 2 3 4 5 6 7 8 9]
######################################## 去掉不是1维的维度,抛异常 ########################################
cannot select an axis to squeeze out which has size not equal to one

感谢你能够认真阅读完这篇文章,希望小编分享的“Numpy扩充矩阵维度和删除维度的实现示例”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网精选频道,更多相关知识等着你来学习!

--结束END--

本文标题: Numpy扩充矩阵维度和删除维度的实现示例

本文链接: https://lsjlt.com/news/268837.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Numpy扩充矩阵维度和删除维度的实现示例
    这篇文章主要介绍了Numpy扩充矩阵维度和删除维度的实现示例,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。在操作矩阵的时候,不同的接口对于矩阵的输入维度要求不同,输入可能为1...
    99+
    2023-06-14
  • 详解Numpy扩充矩阵维度(np.expand_dims, np.newaxis)和删除维度(np.squeeze)的方法
    在操作矩阵的时候,不同的接口对于矩阵的输入维度要求不同,输入可能为1-D,2-D,3-D等等。下面介绍一下使用Numpy进行矩阵维度变更的相关方法。主要包括以下几种: 1、np.ne...
    99+
    2024-04-02
  • numpy怎么增加维度和删除维度
    这篇“numpy怎么增加维度和删除维度”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“numpy怎么增加维度和删除维度”文章吧...
    99+
    2023-07-05
  • numpy增加维度、删除维度的方法
    目录楔子删除维度、增加维度删除、增加一行或一列删除一行或一列增加一行或一列楔子 在 TensorFlow 中,可以给一个 tensor 增加一个维度、删除一个维度,那么在 Numpy...
    99+
    2023-02-20
    numpy增加维度 numpy删除维度
  • Python输出矩阵的维度(行和列数)
    目录 使用numpy中的shape()函数输出矩阵的行和列 一、shape()函数获取矩阵的行数和列数 二、len()函数获取矩阵的行数 三、使用x.ndim函数可以输出矩阵维数 使用numpy中的shape()函数输出矩阵...
    99+
    2023-09-14
    python 矩阵 numpy 开发语言
  • NumPy 矩阵乘法的实现示例
    NumPy 支持的几类矩阵乘法也很重要。 元素级乘法 你已看过了一些元素级乘法。你可以使用 multiply 函数或 * 运算符来实现。回顾一下,它看起来是这样的: m = n...
    99+
    2024-04-02
  • Numpy中实现维度交换的方法
    numpy中交换维度的技巧 简介:numpy是一个功能强大的Python库,主要用于科学计算和数据分析。在numpy中,我们经常需要处理多维数组,而对于数组的维度交换也是常见的操作之一。本文将介绍一些numpy中交换维度的技巧,...
    99+
    2024-01-26
  • 深入解析numpy中的维度扩展方法和技巧
    numpy中增加维度的方法和技巧详解 维度是数据处理和分析中的重要概念,它能够帮助我们理解和处理数据的结构和特征。在numpy中,我们可以使用一些方法和技巧来增加维度,以便更好地处理数据。本文将详细介绍numpy中增加维度的方法...
    99+
    2024-01-26
  • 如何结合ECharts和php接口实现多维度数据的统计图展示
    如何结合ECharts和php接口实现多维度数据的统计图展示摘要:ECharts 是一款由百度开源的数据可视化图表库,能够支持多种图表类型和交互操作。结合 ECharts 和 php 接口,可以方便地实现多维度数据的统计图展示。本文将介绍如...
    99+
    2023-12-18
    echarts PHP接口 多维度数据统计
  • android的RecyclerView实现拖拽排序和侧滑删除示例
    在平时开发应用的时候,经常会遇到列表排序、滑动删除的需求。如果列表效果采用的是 ListView 的话,需要经过自定义 View 才能实现效果;但是如果采用的是 Recycle...
    99+
    2022-06-06
    示例 recyclerview 排序 Android
  • ASP数组缓存API的最佳实践:从性能、可维护性和可扩展性角度考虑
    在ASP开发过程中,缓存是提高系统性能的重要手段之一。而在缓存的实现中,数组缓存又是常见的一种方式。本文将从性能、可维护性和可扩展性三个方面,介绍ASP数组缓存API的最佳实践。 一、性能 数组缓存的性能优势在于其快速访问和遍历的能力。在...
    99+
    2023-06-21
    数组 缓存 api
  • thinkphp5 操作redis 实现文章的热度排行和点赞排行的示例
    使用redis hash散列 和zset有序集合实现文章的热度排行和点赞排行 1.首先为文章建立散列,存入基本信息。 mysql简单设计 获取所有文章,并存入redis //所有新...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作