• 售前

  • 售后

热门帖子
入门百科

Numpy中的shape函数的用法详解

[复制链接]
深渊金哥哥j 显示全部楼层 发表于 2021-10-26 12:34:19 |阅读模式 打印 上一主题 下一主题
shape函数的功能是读取矩阵的长度,好比shape[0]就是读取矩阵第一维度的长度,相当于行数。它的输入参数可以是一个整数表示维度,也可以是一个矩阵。shape函数返回的是一个元组,表示数组(矩阵)的维度,例子如下:
1. 数组(矩阵)只有一个维度时,shape只有shape[0],返回的是该一维数组(矩阵)中元素的个数,普通点说就是返回列数,因为一维数组只有一行,一维情况中array创建的可以看做list(或一维数组),创建时用()和[ ]都可以,多维就不可以这样子了,这里使用[ ],请看下例:
  1. >>> a=np.array([1,2])
  2. >>> a
  3. array([1, 2])
  4. >>> a.shape
  5. (2L,)
  6. >>> a.shape[0]
  7. 2L
  8. >>> a.shape[1]
  9. Traceback (most recent call last):
  10. File "<pyshell#63>", line 1, in <module>
  11.   a.shape[1]
  12. IndexError: tuple index out of range  #最后报错是因为一维数组只有一个维度,可以用a.shape或a.shape[0]来访问
复制代码
  1. >>> a=np.array((1,2))
  2. >>> a
  3. array([1, 2]) #这个使用的是两个()包裹,得到的数组和前面的一样
复制代码
2.数组有两个维度(即行和列)时,和我们的逻辑头脑一样,a.shape返回的元组表示该数组的行数与列数,请看下例:
  1. >>> a=np.array([[1,2],[3,4]])  #注意二维数组要用()和[]一起包裹起来,键入print a 会得到一个用2个[]包裹的数组(矩阵)
  2. >>> a
  3. array([[1, 2],
  4.     [3, 4]])
  5. >>> a.shape
  6. (2L, 2L)
  7. >>> b=np.array([[1,2,3],[4,5,6]])
  8. >>> b
  9. array([[1, 2, 3],
  10.     [4, 5, 6]])
  11. >>> b.shape
  12. (2L, 3L)
复制代码
3.当数组是三维时,要用一个()和两个[]包裹起来,键入print a 会得到一个用3个[]包裹的数组(矩阵),请看下例:
  1. >>> a=np.array([[[1,2],[3,4]]])
  2. >>> a
  3. array([[[1, 2],
  4.     [3, 4]]])
  5. >>> a.shape
  6. (1L, 2L, 2L)
复制代码
这里返回的元组表示3个维度各包罗的元素的个数。
所谓元素,在一维时就是元素的个数,二维时表示行数和列数,三维时a.shape【0】表示创建的块数,a.shape【1】和a.shape【2】表示每一块(每一块都是二维的)的行数和列数,举个例子:
  1. >>> a=np.ones([2,2,3])#创建两个2行3列的数组(矩阵)
  2. >>> a
  3. array([[[ 1., 1., 1.],
  4.     [ 1., 1., 1.]],
  5.     [[ 1., 1., 1.],
  6.     [ 1., 1., 1.]]])
复制代码
总结:使用np.array()创建数组时,
一维的可以直接np.array([1,2,3])或者np.array((1,2,3)),输出(print)时是:
  1. >>> print a
  2. [1 2 3]
复制代码
外面有一个[]包裹;
二维的要使用np.array([[1,2,3],[1,2,3]]),用一个()和一个[]把要输入的list包裹起来,输出(print)时是
  1. >>> print a
  2. [[1 2 3]
  3. [1 2 3]]
复制代码
外面有两个[]包裹;
三维的要使用np.array([[[1,2,3],[1,2,3]]]),用一个()和两个[]把要输入的list包裹起来,输出(print)时是
  1. >>> print a
  2. [[[1 2 3]
  3. [1 2 3]]]
复制代码
外面有三个[]包裹;
对于更高维的情况以后再研究
到此这篇关于Numpy中的shape函数的用法详解的文章就先容到这了,更多相关Numpy shape函数用法内容请搜索草根技能分享以前的文章或继续欣赏下面的相关文章盼望各人以后多多支持草根技能分享!

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作