Python中的shape[0]、shape[1]和shape[-1]使用方法

 更新时间:2023年07月14日 09:02:59   作者:旅途中的宽~  
shape函数是Numpy中的函数,它的功能是读取矩阵的长度,比如shape[0]就是读取矩阵第一维度的长度,这篇文章主要介绍了Python中的shape[0]、shape[1]和shape[-1]使用方法,需要的朋友可以参考下

shape函数是Numpy中的函数,它的功能是读取矩阵的长度,比如shape[0]就是读取矩阵第一维度的长度。

直接用.shape可以快速读取矩阵的形状,使用shape[0]读取矩阵第一维度的长度。

.shape的使用方法

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

shape[0]的使用方法

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

其实,我们可以发现:

>>> print(len(x))
2

shape[0]读取矩阵第一维度的长度,即数组的行数。

shape[1]的使用方法

>>> print(x.shape[1])
3

是我们的数组的列数。

有时我们会遇到一种新的表示方法:shape[-1]

首先需要知道,对于二维张量,shape[0]代表行数,shape[1]代表列数,同理三维张量还有shape[2]

对于图像来说:

image.shape[0]——图片高

image.shape[1]——图片长

image.shape[2]——图片通道数

而对于矩阵来说:

shape[0]:表示矩阵的行数

shape[1]:表示矩阵的列数

一般来说,-1代表最后一个,所以shape[-1]代表最后一个维度,如在二维张量里,shape[-1]表示列数,注意,即使是一维行向量,shape[-1]表示行向量的元素总数,换言之也是列数:

我们还是举上面的例子:

>>> print(x.shape[-1])
3

就是求得的列数。

python中shape[0]与shape[1]

import numpy as np
k = np.matrix([[1, 2, 3, 4],
             [5, 6, 7, 8],
             [9, 10, 11, 12]])
print(np.shape(k))       # 输出(3,4)表示矩阵为3行4列
print(k.shape[0])        # shape[0]输出3,为矩阵的行数
print(k.shape[1])        # 同理shape[1]输出列数

到此这篇关于Python中的shape[0]、shape[1]和shape[-1]使用方法的文章就介绍到这了,更多相关Python shape使用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python获取微信企业号打卡数据并生成windows计划任务

    python获取微信企业号打卡数据并生成windows计划任务

    由于公司的系统用的是Java版本,开通了企业号打卡之后又没有预算让供应商做数据对接,所以只能自己捣鼓这个,以下是个人设置的一些内容,仅供大家参考
    2019-04-04
  • PyCharm+PyQt5+QtDesigner配置详解

    PyCharm+PyQt5+QtDesigner配置详解

    这篇文章主要介绍了PyCharm+PyQt5+QtDesigner配置详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • Python列表去重的20种实现方式

    Python列表去重的20种实现方式

    这篇文章主要介绍了20种不同的列表去重算法,包括基础循环、哈希表、集合与排序、函数式与递归等类别,并分析了每种方法的时间复杂度、是否保留原顺序以及适用场景,文章还讨论了如何处理不可哈希的元素以及在遇到需要进行业务处理的重复元素时的解决方案
    2026-05-05
  • pycharm如何添加解释器

    pycharm如何添加解释器

    这篇文章主要介绍了pycharm如何添加解释器问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • Python中出现"No module named 'requests'"的图文解决办法

    Python中出现"No module named 'requests'"

    这篇文章主要给大家介绍了关于Python中出现"No module named 'requests'"的解决办法,"No module named requests"是Python报错提示,意味着你在使用某个Python程序或脚本时,没有找到名为requests的模块,需要的朋友可以参考下
    2023-11-11
  • 手把手教你用python发送短消息(基于阿里云平台)

    手把手教你用python发送短消息(基于阿里云平台)

    这篇文章主要介绍了手把手教你用python发送短消息(基于阿里云平台),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • python 生成器和迭代器的原理解析

    python 生成器和迭代器的原理解析

    这篇文章主要介绍了python 生成器和迭代器的原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-10-10
  • 使用Python + OpenCV提取和保存视频帧

    使用Python + OpenCV提取和保存视频帧

    Python中的OpenCV库在视频处理方面功能强大,可方便地从视频中截取每一帧并保存为图片,这篇文章主要介绍了使用Python + OpenCV提取和保存视频帧的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2025-08-08
  • Pytorch使用CUDA流(CUDA stream)的实现

    Pytorch使用CUDA流(CUDA stream)的实现

    本文主要介绍了Pytorch使用CUDA流(CUDA stream)的实现,CUDA流是在GPU上并行执行操作的一种机制,通过使用CUDA流,可以将不同的操作分配给不同的流,在不同的流上并行执行这些操作,从而提高代码的性能
    2023-12-12
  • Python中threading模块的Lock和RLock区别详解

    Python中threading模块的Lock和RLock区别详解

    这篇文章主要介绍了Python中threading模块的Lock和RLock区别详解,Lock锁是Python的原始锁,在锁定时不属于任何一个线程,在调用了 lock.acquire() 方法后,进入锁定状态,lock.release()方法可以解锁,底层是通过一个函数来实现的,需要的朋友可以参考下
    2023-09-09

最新评论