Python中shape[0]、shape[1]和shape[-1]分别的意思详解(附代码)

 更新时间:2022年11月17日 15:22:05   作者:旅途中的宽~  
刚开始使用python做东西,总是不太理解矩阵、数组相关的问题,所以在此记录shape方面的总结,下面这篇文章主要给大家介绍了关于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

就是求得的列数。

附:需要注意的小细节

 然后就是,需要注意turple,list等没有shape属性,需要替换成张量tensor

 注意,即使是三维,由于shape[0]表示向量数,所以shape[1]是行数,那么shape[2]还是列数,所以shape[-1]最后一维还是列数

import torch
 
x = torch.tensor([[2, 3, 4, 3, 6, 8],
                 [1, 8, 9, 5, 0, 1],
                 [2, 0, 2, 2, 7, 1]])
print(x.shape[-1])

输出是:6

6
 
Process finished with exit code 0

总结

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

相关文章

  • pytorch中tensor.expand()和tensor.expand_as()函数详解

    pytorch中tensor.expand()和tensor.expand_as()函数详解

    今天小编就为大家分享一篇pytorch中tensor.expand()和tensor.expand_as()函数详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • django rest framework之请求与响应(详解)

    django rest framework之请求与响应(详解)

    下面小编就为大家带来一篇django rest framework之请求与响应(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望对大家有所帮助
    2017-11-11
  • Python 怎么定义计算N的阶乘的函数

    Python 怎么定义计算N的阶乘的函数

    这篇文章主要介绍了Python 怎么定义计算N的阶乘的函数,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • python pygame实现五子棋双人联机

    python pygame实现五子棋双人联机

    这篇文章主要为大家详细介绍了python pygame实现五子棋双人联机,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-05-05
  • python3使用pandas获取股票数据的方法

    python3使用pandas获取股票数据的方法

    今天小编就为大家分享一篇python3使用pandas获取股票数据的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12
  • Python3.5常见内置方法参数用法实例详解

    Python3.5常见内置方法参数用法实例详解

    这篇文章主要介绍了Python3.5常见内置方法参数用法,结合实例形式详细分析了Python常见的内置方法及参数使用技巧,需要的朋友可以参考下
    2019-04-04
  • python的pyecharts绘制各种图表详细(附代码)

    python的pyecharts绘制各种图表详细(附代码)

    这篇文章主要介绍了python的pyecharts绘制各种图表详细(附代码),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • OpenCV角点检测的实现示例

    OpenCV角点检测的实现示例

    角点通常被定义为两条边的交点,本文主要介绍了OpenCV角点检测的实现示例,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • Python 中单例模式的实现方法

    Python 中单例模式的实现方法

    这篇文章主要介绍了Python 中单例模式的实现方法,文章围绕主题展开详细的内容介绍,具有一定的参考价值,感兴趣的小伙伴可以学习一下下面文章详细内容
    2022-08-08
  • numpy中轴处理的实现

    numpy中轴处理的实现

    本文主要介绍了numpy中轴处理的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03

最新评论