精华内容
下载资源
问答
  • shape在python
    万次阅读 多人点赞
    2019-08-08 16:05:54

    关于python函数中shape的解释:
    shape包含在numpy库,是矩阵(ndarray)的属性,可以获取矩阵的形状(例如二维数组的行列),获取的结果是一个元组,因此相关代码如下:
    import numpy as np
    x = np.array([[1,2,3,4,5],[6,7,8,9,10],[10,9,8,7,6],[5,4,3]])
    #输出数组的行和列数
    print x.shape #结果: (4, 5)
    #只输出行数
    print x.shape[0] #结果: 4
    #只输出列数
    print x.shape[1] #结果: 5

    仅供个人学习参考

    更多相关内容
  • 这一阵python做DRL建模的时候,尤其是配合使用tensorflow的时候,加上tensorflow是先搭框架再跑数据,所以调试起来很不方便,经常遇到输入数据或者中间数据shape的类型不统一,导致一些op老是报错。...
  • pythonshape用法

    千次阅读 2019-08-11 09:53:41
    x_data.shape = -1, 1 # 将x_data调整为(任意行,1列) import numpy as np x_data = np.linspace(0,10,100) print(type(x_data),x_data) x_data.shape = -1, 1 # 将x_data调整为(任意行,1列) print(type(x_...

    x_data.shape = -1, 1 # 将x_data调整为(任意行,1列)

    import numpy as np
    x_data = np.linspace(0,10,100)
    print(type(x_data),x_data)
    
    x_data.shape = -1, 1   # 将x_data调整为(任意行,1列)
    print(type(x_data),x_data)
    

    输出分别如下:

    <class 'numpy.ndarray'> 
    [ 0.          1.11111111  2.22222222  3.33333333  4.44444444  5.55555556
      6.66666667  7.77777778  8.88888889 10.        ]
    
    <class 'numpy.ndarray'> 
    [[ 0.        ]
     [ 1.11111111]
     [ 2.22222222]
     [ 3.33333333]
     [ 4.44444444]
     [ 5.55555556]
     [ 6.66666667]
     [ 7.77777778]
     [ 8.88888889]
     [10.        ]]
    
    展开全文
  • 今天小编就为大家分享一篇python创建ArcGIS shape文件的实现,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • Python里对于shape()的理解

    千次阅读 多人点赞 2021-02-18 14:17:18
    Python里对于shape()的理解 (1)shape()含义 笔者debug深度学习相关代码的时候,很容易出现shape()这样形式的东西,用来告知输出数据的形式,由于shape()里出现的数字数量不同,还经常有shape(?,64,512)...

    Python里对于shape()的理解

    (1)shape()含义

    在笔者debug深度学习相关代码的时候,很容易出现shape()这样形式的东西,用来告知输出数据的形式,由于shape()里出现的数字数量不同,还经常有shape(?,64,512)这样的数据存在,因此上网查了一些信息,作出比较通俗易懂的解释:

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

    表示该数组有1个,是2行3列的数组。每一个shape里的数字对应数组中的一对中括号,第一个数字1表示最外层的中括号。以此类推,数字2表示第二层中括号,数字3表示最里层的中括号。如果定义array时去掉了最外层的括号那么输出的shape为(2, 3)。

    (2)区分一维数组和二维数组

    有几个中括号就为几维数组
    因此在上文中,有三对中括号,是3维数组,shape()中有3个数。

    a = np.array([1,2])     #a.shape值(2,),意思是一维数组,数组中有2个元素。
    b = np.array([[1],[2]]) #b.shape值是(2,1),意思是一个二维数组,每行有1个元素。
    c = np.array([[1,2]])   #c.shape值是(12),意思是一个二维数组,每行有2个元素。
    

    (3)shape()中“?”的含义

    而在debug相关程序时,可能会出现shape(?,2,3)这便代表数组每一个都是2行3列的,前面这个“?”便代表批处理个数,若为1则有1个,为2则有两个,但是在debug的时候不知道有几个,所以以“?”的形式显示。

    (4)shape()中有四个数,第一个数表示时间序列(批处理数)

    from keras.models import Input,Model
    from keras.layers import Dense,Conv2D,TimeDistributed
    
    input_ = Input(shape=(12,32,32,3))
    out = TimeDistributed(Conv2D(filters=32,kernel_size=(3,3),padding='same'))(input_)
    model = Model(inputs=input_,outputs=out)
    model.summary()
    

    而这里,shape()中有四个数。第一个12代表就是时间序列,32,32,3指的是高,宽,通道数。卷积操作使用TimeDistributed就相当与这12个时间序列共享一个卷积层参数信息,无论时间序列值为多少,参数总量还是一定的。此处一共有896个参数,卷积核weights有3×3×3×32=864个,卷积核bias有32个。

    附TimeDistributed解释

    关于TimeDistributed有一个比较通俗的示例解释:
    考虑一批32个样本,其中每个样本是一个由16个维度组成的10个向量的序列。该层的批输入形状然后(32, 10, 16)。

    可以这么理解,输入数据是一个特征方程,X1+X2+…+X10=Y,从矩阵的角度看,拿出未知数,就是10个向量,每个向量有16个维度,这16个维度是评价Y的16个特征方向。

    TimeDistributed层的作用就是把Dense层应用到这10个具体的向量上,对每一个向量进行了一个Dense操作,假设是下面这段代码:

    model = Sequential()model.add(TimeDistributed(Dense(8), input_shape=(10, 16)))

    输出还是10个向量,但是输出的维度由16变成了8,也就是(32,10,8)。
    在这里插入图片描述

    TimeDistributed层给予了模型一种一对多,多对多的能力,增加了模型的维度。

    展开全文
  • 本文实例讲述了Pythonshape计算矩阵的方法。分享给大家供大家参考,具体如下: 看到机器学习算法时,注意到了shape计算矩阵的方法接下来就讲讲我的理解吧 >>> from numpy import * >>> import operator >>> a =...
  • 对numpy中shape的深入理解

    千次阅读 2020-12-03 13:47:34
    环境:Windows, Python2.7一维情况:>>> import numpy as np>>> a = np.array([2,3,33])>>> aarray([ 2 3 33 ])>>> print a[ 2 3 33 ]>>> a.shape(3, )一维情况中...

    环境:Windows, Python2.7

    一维情况:

    >>> import numpy as np

    >>> a = np.array([2,3,33])

    >>> a

    array([ 2 3 33 ])

    >>> print a

    [ 2 3 33 ]

    >>> a.shape

    (3, )

    一维情况中array创建的可以看做list(或一维数组),创建时用()和[ ]都可以,多维也一样,两种方法创建后的输出显示结果也相同,这里使用[ ]进行创建

    输出a的shape会显示一个参数,就是这个list中元素个数

    创建时也可以直接使用np.zeros([1]),这样会创建全0的list,或者np.ones([1]),不需要我们输入数据,见下图:

    >>> a = np.zeros([1])

    >>> b = np.ones([1])

    >>> print a

    [ 0. ]

    >>> print b

    [ 1. ]

    二维情况:

    >>> a = np.array([[2,2,2],[3,3,3]])

    >>> print a

    [[ 2 2 2 ]

    [ 3 3 3 ]]

    >>> a.shape

    (2, 3)

    二维情况中array创建的可以看做二维数组(矩阵),注意创建时需要使用2个[ ],输出a的shape显示的(2,3)相当于有2行,每行3个数,使用np.ones创建结果如下:

    >>> a = np.ones([2, 3]) >>> print a [[ 1. 1. 1. ] [ 1. 1. 1. ]]

    多维情况:

    多维情况统一使用np.ones进行创建,先看三维情况:

    >>> a = np.ones([1,1,1])

    >>> print a

    [[[ 1.]]]

    >>> a = np.ones([1,1,2])

    >>> print a

    [[[ 1. 1.]]]

    >>> a = np.ones([1,2,1])

    >>> print a

    [[[ 1.]

    [ 1.]]]

    >>> a = np.ones([2,1,1])

    >>> print a

    [[[ 1.]]

    [[ 1.]]]

    从上面的代码可以看出,三维情况创建时后面2个参数可以看做是创建二维数组,第1个参数看做创建的二维数组的个数,所以创建时输入的参数为2,3,2时,就相当于创建了2个3行2列的二维数组,如下:

    >>> a = np.ones([2,3,2])

    >>> print a

    [[[ 1. 1.]

    [ 1. 1.]

    [ 1. 1.]]

    [[ 1. 1.]

    [ 1. 1.]

    [ 1. 1.]]]

    然后看四维情况:

    >>> a = np.ones([1,1,1,1])

    >>> print a

    [[[[ 1.]]]]

    >>> a = np.ones([1,1,1,2])

    >>> print a

    [[[[ 1. 1.]]]]

    >>> a = np.ones([1,1,2,1])

    >>> print a

    [[[[ 1.]

    [ 1.]]]]

    >>> a = np.ones([1,2,1,1])

    >>> print a

    [[[[ 1.]]

    [[ 1.]]]]

    >>> a = np.ones([2,1,1,1])

    >>> print a

    [[[[ 1.]]]

    [[[ 1.]]]]

    从上面代码可以看出:四维时将第一个参数设置为2和第二个参数设置为2时,输出结果中间的空行数量不同,我把它理解成先创建1行1列的二维数组[[ 1. ]],然后按照第2个参数打包这样的二维数组,如果第二个参数是2,则打包2个2维数组变成[[[ 1. ]],[[ 1. ]]](小包),然后按照第1个参数再打包这样的包,如果第一个参数是2,则变成[[[[ 1. ]], [[ 1. ]]], [[[ 1. ]], [[ 1. ]]]](大包),就是下面的结果:

    >>> a = np.ones([2,2,1,1])

    >>> print a

    [[[[ 1.]]

    [[ 1.]]]

    [[[ 1.]]

    [[ 1.]]]]

    四维以上的结果也是这么理解~输出中区分参数用空行~

    然后来看一下特定输出:

    >>> import numpy as np

    >>> m = np.ones([2,3,2,3])

    >>> print m

    [[[[ 1. 1. 1.]

    [ 1. 1. 1.]]

    [[ 1. 1. 1.]

    [ 1. 1. 1.]]

    [[ 1. 1. 1.]

    [ 1. 1. 1.]]]

    [[[ 1. 1. 1.]

    [ 1. 1. 1.]]

    [[ 1. 1. 1.]

    [ 1. 1. 1.]]

    [[ 1. 1. 1.]

    [ 1. 1. 1.]]]]

    >>> print m[1,:,:,:]

    [[[ 1. 1. 1.]

    [ 1. 1. 1.]]

    [[ 1. 1. 1.]

    [ 1. 1. 1.]]

    [[ 1. 1. 1.]

    [ 1. 1. 1.]]]

    >>> print m[:,1,:,:]

    [[[ 1. 1. 1.]

    [ 1. 1. 1.]]

    [[ 1. 1. 1.]

    [ 1. 1. 1.]]]

    >>> print m[:,:,1,:]

    [[[ 1. 1. 1.]

    [ 1. 1. 1.]

    [ 1. 1. 1.]]

    [[ 1. 1. 1.]

    [ 1. 1. 1.]

    [ 1. 1. 1.]]]

    >>> print m[:,:,:,1]

    [[[ 1. 1.]

    [ 1. 1.]

    [ 1. 1.]]

    [[ 1. 1.]

    [ 1. 1.]

    [ 1. 1.]]]

    前面print m很好理解~

    然后print m[1,:,:,:],:代表默认值(就是一开始你输入时指定的值),这句代码相当于输出2个包中的第1个包(从0开始计数),这个包里面有3个小包,小包里面是2*3的二维数组,所以结果就是上面的~

    然后print m[:,1,:,:],相当于输出2个大包,每个大包输出第1个小包,小包里面是2*3的二维数组

    然后print m[:,:,1,:],相当于输出2个大包,每个大包输出3个小包,小包里面是二维数组的第1行

    然后print m[:,:,:,1],相当于输出2个大包,每个大包输出3个小包,小包里面是1*2的二维数组

    其他结果可以自己去试试~

    总结:采用np.array()创建时需要几个维度就要用几个[ ]括起来,这种创建方式要给定数据;采用np.ones()或np.zeros()创建分别产生全1或全0的数据,用a.shape会输出你创建时的输入,创建时输入了几个维度输出就会用几个[ ]括起来,shape的返回值是一个元组,里面每个数字表示每一维的长度

    以上这篇对numpy中shape的深入理解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

    展开全文
  • python数据分析 shape()函数
  • 资源分类:Python库 所属语言:Python 资源全名:alphashape-1.2.0.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
  • pythonshape的运用

    千次阅读 2020-05-02 14:16:38
    文章目录shape()的使用 shape()的使用 shape()函数返回
  • 形状检测库 使用OpenCV和Python检测图像形状的工具。 您可以其他地方使用
  • Python numpy的shape()用法

    千次阅读 2021-11-30 19:58:48
    Python numpy的shape()用法 举三个例子来说明shape()的用法 一维数组 arr1 = np.array([1,3,5,2,4,6,-2,-7,-9,6,6,6]) print(arr1.shape, arr1) ((12,), array([ 1, 3, 5, 2, 4, 6, -2, -7, -9, 6, 6, 6])) 二维...
  • python中的size和shape

    千次阅读 2020-06-28 17:40:21
    size和shape是numpy中的函数. size()计算矩阵中所有元素的个数; shape()返回维度值。即 import numpy as np a = np.array([[1,2,3],[4,5,6],[7,8,9]]) print(np.size(a)) print(np.shape(a)) 返回结果为 9 (3, 3)...
  • 主要介绍了python numpy矩阵信息说明,shape,size,dtype,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 在上一篇《手把手陪您学Python》48——数组的生成方法1中,我们学习了array()、arange()以及linspace()三种生成数组的方法,并且了解了数组是使用嵌套列表的方式进行表示的。 今天,我们将会学习数组的shape属性,...
  • pythonshape函数的用法

    千次阅读 2020-08-29 21:11:32
    shape函数是numpy.core.fromnumeric中的函数,它的功能是读取矩阵的长度,比如shape[0]就是读取矩阵第一维度的长度。 shape的输入参数可以是一个整数(表示维度),也可以是一个矩阵。以下例子可能会好理解一些: ...
  • python中的shape, shape[0], shape[1]

    千次阅读 2022-04-22 21:16:54
    shape: 获取数组的形状 假设是一个二维数组 shape[0]: 获取数组的行数 shape[1]: 获取数组的列数 例: import numpy as np x = np.array([[1, 2, 3, 4], [4, 3, 2, 1]]) x.shape >>> (2, 4) x.shape[0] ...
  • numpy.array可使用 shape。...(array转list:array B B.tolist()即可)补充知识:Pandas使用DataFrame出现错误:AttributeError: 'list' object has no attribute 'astype'使用Pandas的DataFrame时出现了错误...
  • PythonShape()函数

    万次阅读 多人点赞 2019-04-25 10:17:44
    shape函数是numpy.core.fromnumeric中的函数,它的功能是读取矩阵的长度,比如shape[0]就是读取矩阵第一维度的长度。 shape的输入参数可以是一个整数(表示维度),也可以是一个矩阵。以下例子可能会好理解一些: ...
  • python shape函数的用法

    千次阅读 2021-05-25 20:48:09
    代码: import numpy as np x=np.array([[1,2,3],[2,...Sz=x.shape Sz0=x.shape[0] Sz1=x.shape[1] print(Sz) print(Sz0) print(Sz1) 输出: [[ 1 2 3] [ 2 3 5] [11 15 17] [58 2 87] [ 5 8 2] [ 1 4 3]] (6, 3)
  • 【小白从小学Python、C、Java】 【Python全国计算机等级考试】 【Python数据分析考试必会题】 ● 标题与摘要 Python中读取矩阵的维度 ndarray.shape函数 ●选择题 以下程序输出什么: import numpy as np ...
  • Python numpy函数:shape用法(简单样本及样本对应变量场景) data = np.array([[1,2,3],[4,5,6]]) a = data.shape[0] #获取data样本数 对应行 b = data.shape[1] #获取data样本中的维度 对应列 print(a,b) a = 2 b = ...
  • Pythonshape简易用法

    万次阅读 多人点赞 2018-05-15 09:37:26
    通过安装导入numpy库,矩阵(ndarray)的shape属性可以获取矩阵的形状(例如二维数组的行列),获取的结果是一个元组,因此相关代码如下:import numpy as np x = np.array([[1,2,5],[2,3,5],[3,4,5],[2,3,6]]) #...
  • Python脚本在shape文件中的运用.pdf
  • Python中size和shape区别

    千次阅读 2021-01-22 14:53:37
    numpy里面,两个是不相同的,size: 所有元素的个数和, shape: 数组类型大小(3,2) , 但pytorch里面,两个是一样的,表达的都是数组类型 import torch import numpy as np a = np.array([[1,2,3], [4,5,6]])...
  • 首先,先将图像进行灰度处理,借助模糊处理,得到边缘检测图像;接着,借用边缘检测图像,获取图像轮廓参数,通过面积,以及边框数,检测出图形的形状。OK,Let‘s go! Opencv版本 这个opencv-contrib-python ,这...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 343,705
精华内容 137,482
关键字:

shape在python