Numpy中的shape函数的用法详解

 更新时间:2021年03月22日 11:28:15   作者:付修磊  
这篇文章主要介绍了Numpy中的shape函数的用法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

shape函数的功能是读取矩阵的长度,比如shape[0]就是读取矩阵第一维度的长度,相当于行数。它的输入参数可以是一个整数表示维度,也可以是一个矩阵。shape函数返回的是一个元组,表示数组(矩阵)的维度,例子如下:

1. 数组(矩阵)只有一个维度时,shape只有shape[0],返回的是该一维数组(矩阵)中元素的个数,通俗点说就是返回列数,因为一维数组只有一行,一维情况中array创建的可以看做list(或一维数组),创建时用()和[ ]都可以,多维就不可以这样子了,这里使用[ ],请看下例:

>>> a=np.array([1,2])
>>> a
array([1, 2])
>>> a.shape
(2L,)
>>> a.shape[0]
2L
>>> a.shape[1]
Traceback (most recent call last):
 File "<pyshell#63>", line 1, in <module>
  a.shape[1]
IndexError: tuple index out of range  #最后报错是因为一维数组只有一个维度,可以用a.shape或a.shape[0]来访问


>>> a=np.array((1,2))
>>> a
array([1, 2]) #这个使用的是两个()包裹,得到的数组和前面的一样

2.数组有两个维度(即行和列)时,和我们的逻辑思维一样,a.shape返回的元组表示该数组的行数与列数,请看下例:

>>> a=np.array([[1,2],[3,4]])  #注意二维数组要用()和[]一起包裹起来,键入print a 会得到一个用2个[]包裹的数组(矩阵)
>>> a
array([[1, 2],
    [3, 4]])
>>> a.shape
(2L, 2L)
>>> b=np.array([[1,2,3],[4,5,6]])
>>> b
array([[1, 2, 3],
    [4, 5, 6]])
>>> b.shape
(2L, 3L)

3.当数组是三维时,要用一个()和两个[]包裹起来,键入print a 会得到一个用3个[]包裹的数组(矩阵),请看下例:

>>> a=np.array([[[1,2],[3,4]]])
>>> a
array([[[1, 2],
    [3, 4]]])
>>> a.shape
(1L, 2L, 2L)

这里返回的元组表示3个维度各包含的元素的个数。
所谓元素,在一维时就是元素的个数,二维时表示行数和列数,三维时a.shape【0】表示创建的块数,a.shape【1】和a.shape【2】表示每一块(每一块都是二维的)的行数和列数,举个例子:

>>> a=np.ones([2,2,3])#创建两个2行3列的数组(矩阵)
>>> a
array([[[ 1., 1., 1.],
    [ 1., 1., 1.]],
 
    [[ 1., 1., 1.],
    [ 1., 1., 1.]]])

总结:使用np.array()创建数组时,

一维的可以直接np.array([1,2,3])或者np.array((1,2,3)),输出(print)时是:

>>> print a
[1 2 3]

外面有一个[]包裹;

二维的要使用np.array([[1,2,3],[1,2,3]]),用一个()和一个[]把要输入的list包裹起来,输出(print)时是

>>> print a
[[1 2 3]
 [1 2 3]]

外面有两个[]包裹;

三维的要使用np.array([[[1,2,3],[1,2,3]]]),用一个()和两个[]把要输入的list包裹起来,输出(print)时是

>>> print a
[[[1 2 3]
 [1 2 3]]]

外面有三个[]包裹;

对于更高维的情况以后再研究

到此这篇关于Numpy中的shape函数的用法详解的文章就介绍到这了,更多相关Numpy shape函数用法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • pycharm配置SSH远程连接服务器详细步骤(0基础详细版)

    pycharm配置SSH远程连接服务器详细步骤(0基础详细版)

    PyCharm是一款流行的Python集成开发环境(IDE),提供了远程连接云服务器的功能,使得开发者可以更加便捷地进行远程开发和调试,这篇文章主要给大家介绍了关于pycharm配置SSH远程连接服务器的详细步骤,需要的朋友可以参考下
    2024-07-07
  • Python中三元运算符的简洁性及多用途实例探究

    Python中三元运算符的简洁性及多用途实例探究

    这篇文章主要为大家介绍了Python中三元运算符的简洁性及多用途实例探究,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2024-01-01
  • 解决pyinstaller打包exe文件出现命令窗口一闪而过的问题

    解决pyinstaller打包exe文件出现命令窗口一闪而过的问题

    今天小编就为大家分享一篇解决pyinstaller打包exe文件出现命令窗口一闪而过的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-10-10
  • python神经网络InceptionV3模型复现详解

    python神经网络InceptionV3模型复现详解

    这篇文章主要为大家介绍了python神经网络InceptionV3模型复现详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪<BR>
    2022-05-05
  • 使用Python实现轻松调整视频的播放速度

    使用Python实现轻松调整视频的播放速度

    这篇文章主要介绍了如何通过 moviepy.editor 中的 VideoFileClip 类和 fx.speedx 函数实现轻松地调整视频的播放速度,感兴趣的可以了解下
    2024-11-11
  • Python使用JWT的超详细教程

    Python使用JWT的超详细教程

    这篇文章主要介绍了Python使用JWT的相关资料,JWT(JSON Web Tokens)是一种网络应用间传输信息的标准,包括三部分:Header(头部),Payload(负载),Signature(签名),头部包含声明类型和算法,需要的朋友可以参考下
    2024-10-10
  • 让python 3支持mysqldb的解决方法

    让python 3支持mysqldb的解决方法

    这篇文章主要介绍了关于让python 3支持mysqldb的解决方法,文中给出解决的示例代码,相信对大家具有一定的参考价值,有需要的朋友可以一起来看看。
    2017-02-02
  • ubuntu上安装python的实例方法

    ubuntu上安装python的实例方法

    在本篇文章里小编给大家整理的是关于怎么在ubuntu安装python的相关方法,以后需要的朋友们可以学习下。
    2019-09-09
  • pycharm使用Translation插件实现翻译功能

    pycharm使用Translation插件实现翻译功能

    PyCharm是一款很流行的Python编辑器,经常遇到在PyCharm中把中文翻译成英文的需求,下面这篇文章主要给大家介绍了关于pycharm使用Translation插件实现翻译功能的相关资料,需要的朋友可以参考下
    2023-05-05
  • python pip无法使用该怎么解决详析

    python pip无法使用该怎么解决详析

    在python程序的开发过程中,pip是一个用来下载第三方库非常好用的工具,下面这篇文章主要介绍了python pip无法使用该怎么解决的相关资料,需要的朋友可以参考下
    2024-09-09

最新评论