精华内容
下载资源
问答
  • Numpy.array()详解 、np.arraynp.asarray辨析、 np.arraynp.ndarry的区别
    万次阅读 多人点赞
    2019-04-06 15:25:45

    记录一下numpy.array()的详细用法,以及与np.asarray()和np.ndarray()的区别。

    目录

    1. Numpy.array()详解

    1.1 函数形式

    1.2 参数详解

    1.3 具体用法

    2. Asarray和Array辨析

    2.1 object对象是普通迭代序列时

    2.2 object对象是ndarray对象时

    3.Numpy.ndarray()


    1. Numpy.array()详解

    该函数的作用一言蔽之就是用来产生数组。

    1.1 函数形式

    numpy.array(object, 
        dtype=None, 
        copy=True, 
        order='K', 
        subok=False, 
        ndmin=0)

    1.2 参数详解

    object:必选参数,类型为array_like,可以有四种类型:数组,公开数组接口的任何对象,__array__方法返回数组的对象,或任何(嵌套)序列。np.array()的作用就是按照一定要求将object转换为数组。

    dtype:可选参数,用来表示数组元素的类型。如果没有给出,那么类型将被确定为保持序列中的对象所需的最小类型。注: This argument can only be used to ‘upcast’ the array. For downcasting, use the .astype(t) method.

    copy:可选参数,类型为bool值。如果为true(默认值),则复制对象。否则的话只有在以下三种情况下才会返回副本:(1).if __array__ returns a copy;(2). if obj is a nested sequence;(3). if a copy is needed to satisfy any of the other requirements (dtype, order, etc.)

    order:{‘K’, ‘A’, ‘C’, ‘F’},optional 。指定阵列的内存布局。该参数我至今还没有遇到过具体用法,这句话的意思就是我不会,故在此省略。

    subok:可选参数,类型为bool值。如果为True,则子类将被传递,否则返回的数组将被强制为基类数组(默认)。或者说,True:使用object的内部数据类型,False:使用object数组的数据类型。

    ndmin:可选参数,类型为int型。指定结果数组应具有的最小维数。

    返回对象

    out:输出ndarray,满足指定要求的数组对象。

    1.3 具体用法

    简单示例

    import numpy as np
    
    arr01 = np.array([1,2,3])
    print(arr01) #[1 2 3]
    print(type(arr01))  #<class 'numpy.ndarray'>
    print(arr01.dtype)  #int32
    
    #Upcasting
    arr02 = np.array([1.,2.,3.])
    print(arr02) #[1. 2. 3.]
    print(arr02.dtype)  #float64
    
    #More than one dimension:
    arr03 = np.array([[1,2],[3,4]])
    print(arr03)
    """
    [[1 2]
     [3 4]]
    """
    
    

     dtype参数使用示例

    import numpy as np
    
    #指定数组元素类型为复数类型
    DYX= np.array([1,2,3],dtype = complex)
    print(DYX) #[1.+0.j 2.+0.j 3.+0.j]
    print(DYX.dtype)  #complex128
    
    #由多个元素组成的数据类型:
    HXH = np.array([(1,2),(3,4)],dtype=[('a','<i4'),('b','<i8')])
    print(HXH)  #[(1, 2) (3, 4)]
    #下面的输出有点神奇,我也只能记住规律了。
    print(HXH["a"]) #[1 3]
    print(HXH["b"])  #[2 4]
    print(HXH.dtype)  #[('a', '<i4'), ('b', '<i8')]
    print(HXH["a"].dtype) #int32
    print(HXH["b"].dtype) #int64
    
    TSL = np.array([(1,2,3),(4,5,6)],dtype=[("a","i"),("b","i"),("c","i")])
    print(TSL["a"]) #[1 4]
    print(TSL["a"].dtype)  #int32

    上述代码中,numpy的数据类型,可以参看: http://www.runoob.com/numpy/numpy-dtype.html

    subok参数使用示例

    import numpy as np
    
    DYX = np.array(np.mat('1 2; 3 4'))
    #没有显示的写出subok的值,但是默认为False
    print(DYX)
    #数组类型
    print(type(DYX))  #<class 'numpy.ndarray'>
    """
    [[1 2]
     [3 4]]
    """
    
    HXH = np.array(np.mat('1 2; 3 4'), subok=True)
    print(HXH)
    #矩阵类型
    print(type(HXH))  #<class 'numpy.matrixlib.defmatrix.matrix'>
    """
    [[1 2]
     [3 4]]
    """

    前文对subok的描述是这样的:“如果为True,则子类将被传递,否则返回的数组将被强制为基类数组(默认)”。

    在上文的代码中“np.mat('1 2; 3 4')”,就是子类,是矩阵类型。DYX = np.array(np.mat('1 2; 3 4'))中subok为False,返回的数组类型被强制为基类数组,所以DYX的类型是<class 'numpy.ndarray'>,是数组;HXH = np.array(np.mat('1 2; 3 4'), subok=True)中subok为True,子类被传递,所以HXH的类型是矩阵<class 'numpy.matrixlib.defmatrix.matrix'>。

    这就是区别所在。

    ndmin参数使用示例

    import numpy as np
    
    DYX = np.array([1,2,3],ndmin=0)
    print(DYX,DYX.shape) #[1 2 3] (3,)
    
    HXH = np.array([1,2,3],ndmin=1)
    print(HXH,HXH.shape) #[1 2 3] (3,)
    
    TSL = np.array([1,2,3],ndmin=2)
    print(TSL,TSL.shape) #[[1 2 3]] (1, 3)

    其他两个参数copy和order,我至今还没有遇到过,所以暂且不表。谁有介绍这两个参数用法的博客吗?

    2. Asarray和Array辨析

    Numpy.asaray的用法不再赘述,主要介绍一下二者的区别。

    2.1 object对象是普通迭代序列时

    import numpy as np
    
    data = [1,1,1]
    print(type(data)) #<class 'list'> 列表类型
    arr_ar = np.array(data)
    arr_as = np.asarray(data)
    
    #输出上没有区别
    print(arr_ar) #[1 1 1]
    print(arr_as) #[1 1 1]
    
    data[1]=2
    #改变原序列对arr_ar和arr_as没影响
    print(arr_ar) #[1 1 1]
    print(arr_as) #[1 1 1]
    
    #此时data是[1, 2, 1]
    #改变arr_ar和arr_as对原序列没有影响
    arr_ar[1]=3
    print(data) #[1, 2, 1]
    arr_as[1]=3
    print(data)  #[1, 2, 1]

    可见在参数对象是普通迭代序列时,asarray和array没有区别(在我的理解范围内)。

    2.2 object对象是ndarray对象时

    import numpy as np
    
    data = np.ones((3,))
    #print(type(data)) #<class 'numpy.ndarray'> 数组类型
    arr_ar = np.array(data)
    arr_as = np.asarray(data)
    
    print(arr_ar) #[1. 1. 1.]
    print(arr_as) #[1. 1. 1.]
    
    """
    这边区别就出来了。修改原始序列后,
    np.array()产生的数组不变,
    但是np.asarray()产生的数组发生了变化
    """
    data[1]=2
    print(arr_ar) #[1. 1. 1.]
    print(arr_as) #[1. 2. 1.]  !!!
    
    
    """
    这边也有区别,修改array产生的数组,不影响原始序列
    修改asarray产生的数组,会影响原始序列
    """
    #此时data=[1. 2. 1.]
    arr_ar[2]=3
    print(data)  #[1. 2. 1.]
    arr_as[2]=3
    print(data)  #[1. 2. 3.]
    

     

    我们总结一下:相同点:arrayasarray都可以将数组转化为ndarray对象。区别:当参数为一般数组时,两个函数结果相同;当参数本身就是ndarray类型时,array会新建一个ndarray对象,作为参数的副本,但是asarray不会新建,而是与参数共享同一个内存。重点就是这个共享内存。

    3.Numpy.ndarray()

    这是最近在一个项目里看到的用法,搜索了一下用法,只在stackoverflow看到了一个问题:What is the difference between ndarray and array in numpy?”。

    地址如下:https://stackoverflow.com/questions/15879315/what-is-the-difference-between-ndarray-and-array-in-numpy

    numpy.array只是一个创建ndarray的便利函数;它本身不是一个类。他讲到也可以使用numpy.ndarray创建一个数组,但这不是推荐的方法。 numpy.ndarray() 是一个类,而numpy.array() 是一个创建ndarray的方法/函数。

    在numpy docs中,如果你想从ndarray类创建一个数组,你可以用引用的2种方式来做:

    (1).using array(), zeros() or empty() methods: Arrays should be constructed using array, zeros or empty (refer to the See Also section below). The parameters given here refer to a low-level method (ndarray(…)) for instantiating an array.【1-使用array(), zeros()或empty()方法:数组应该使用array, zeros()或empty()构造。这里给出的参数引用用于实例化数组的低级方法(ndarray(…))。】

    (2).from ndarray class directly: There are two modes of creating an array using new: If buffer is None, then only shape, dtype, and order are used. If buffer is an object exposing the buffer interface, then all keywords are interpreted.【2-来自ndarray类:使用new创建数组有两种模式:如果buffer是None,则只使用shape,dtype和order。 如果buffer是公开buffer接口的对象,则解释所有关键字。】

    所以说老老实实用numpy.array()吧。

     

    本篇完结,行笔匆忙,如有错误,还望指出。

     

     

     

    更多相关内容
  • np.array()函数

    千次阅读 2021-12-28 15:16:32
    函数调用方法: numpy.array(object, dtype=None) ...array = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) print("数组array的值为: ") print(array) print("数组array的默认类型为: ") print(arr

    函数调用方法:

    numpy.array(object, dtype=None)
    

    各个参数意义:
    object:创建的数组的对象,可以为单个值,列表,元胞等。
    dtype:创建数组中的数据类型。
    返回值:给定对象的数组。

    普通用法:

    import numpy as np
    
    array = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
    
    print("数组array的值为: ")
    print(array)
    print("数组array的默认类型为: ")
    print(array.dtype)
    """
    result:
    数组array的值为: 
    [0 1 2 3 4 5 6 7 8 9]
    数组array的默认类型为: 
    int32
    """
    

    我们可以看到,我们成功创建了给定元素的数组,并且创建数组的默认类型为np.int32类型。

    进阶用法:

    import numpy as np
    
    array = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9], dtype=np.float32)
    
    print("数组array的值为: ")
    print(array)
    print("数组array的默认类型为: ")
    print(array.dtype)
    """
    result:
    数组array的值为: 
    [0. 1. 2. 3. 4. 5. 6. 7. 8. 9.]
    数组array的默认类型为: 
    float32
    """
    

    我们成功创建了给定元素的数组,并且创建数组的默认类型为np.float32类型。

    更高级的用法:

    import numpy as np
    
    array = np.array((1, 2), dtype=[('x', np.int8), ('y', np.int16)])
    
    print("数组array的值为: ")
    print(array)
    print("数组array的默认类型为: ")
    print(array.dtype)
    print("数组array中对应x标签元素为: ")
    print(array['x'])
    print("数组array中对应y标签元素为: ")
    print(array['y'])
    """
    result:
    数组array的值为: 
    (1, 2)
    数组array的默认类型为: 
    [('x', 'i1'), ('y', '<i2')]
    数组array中对应x标签元素为: 
    1
    数组array中对应y标签元素为: 
    2
    """
    

    我们可以看到,我们在创建数组的同时,可以设定其中单个元素的数据类型,这里的'i1'指代的便是np.int8类型,'i2'指代的是'np.int16'类型。读者可以自行尝试,这里不做过多讨论,后续也许会补充说明。

    最高级的用法:

    import numpy as np
    
    # Create rain data
    n_drops = 10
    
    rain_drops = np.zeros(n_drops, dtype=[('position', float, (2,)),
                                          ('size', float),
                                          ('growth', float),
                                          ('color', float, (4,))])
    
    # Initialize the raindrops in random positions and with
    # random growth rates.
    rain_drops['position'] = np.random.uniform(0, 1, (n_drops, 2))
    rain_drops['growth'] = np.random.uniform(50, 200, n_drops)
    
    print(rain_drops)
    """
    result:
    [([0.70284885, 0.03590322], 0., 176.4511602 , [0., 0., 0., 0.])
     ([0.60838294, 0.49185854], 0.,  60.51037667, [0., 0., 0., 0.])
     ([0.86525398, 0.65607663], 0., 168.00795695, [0., 0., 0., 0.])
     ([0.25812877, 0.14484747], 0.,  80.17753717, [0., 0., 0., 0.])
     ([0.66021716, 0.90449213], 0., 121.94125106, [0., 0., 0., 0.])
     ([0.88306332, 0.51074725], 0.,  92.4377108 , [0., 0., 0., 0.])
     ([0.68916433, 0.89543162], 0.,  90.77596431, [0., 0., 0., 0.])
     ([0.7105655 , 0.68628326], 0., 144.88783652, [0., 0., 0., 0.])
     ([0.6894679 , 0.90203559], 0., 167.40736266, [0., 0., 0., 0.])
     ([0.92558218, 0.34232054], 0.,  93.48654986, [0., 0., 0., 0.])]
    """
    

    码字不易,如果大家觉得有用,请高抬贵手给一个赞让我上推荐让更多的人看到吧~

    展开全文
  • np.mat()函数np.array()函数的辨析

    万次阅读 多人点赞 2020-02-07 16:22:27
    今天,在学习numpy的时候,偶然看到np.mat()函数,查了一下,也是生成矩阵,这里的mat与MATLAB中的很相似,所以在这里简单的记录一下np.mat()函数应该怎么使用,和numpy中的array()函数有什么区别? np.mat()的基本...

    写在前面

    今天,在学习numpy的时候,偶然看到np.mat()函数,查了一下,也是生成矩阵,这里的mat与MATLAB中的很相似,所以在这里简单的记录一下np.mat()函数应该怎么使用,和numpy中的array()函数有什么区别?

    np.mat()的基本操作

    常规操作

    • 创建矩阵
    • 访问数据
    • 排序等
    >>> m= np.mat([1,2,3])  #创建矩阵
    >>> m
    matrix([[1, 2, 3]])
    
    >>> m[0]                #取一行
    matrix([[1, 2, 3]])
    >>> m[0,1]              #第一行,第2个数据
    >>> m[0][1]             #注意不能像数组那样取值了
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "/usr/lib64/python2.7/site-packages/numpy/matrixlib/defmatrix.py", line 305, in __getitem__
        out = N.ndarray.__getitem__(self, index)
    IndexError: index 1 is out of bounds for axis 0 with size 1
    
    
    #将Python的列表转换成NumPy的矩阵
    >>> list=[1,2,3]
    >>> mat(list)
    matrix([[1, 2, 3]])
    
    #Numpy dnarray转换成Numpy矩阵
    >>> n = np.array([1,2,3])
    >>> n
    array([1, 2, 3])
    >>> np.mat(n)
    matrix([[1, 2, 3]])
    
    #排序
    >>> m=np.mat([[2,5,1],[4,6,2]])    #创建2行3列矩阵
    >>> m
    matrix([[2, 5, 1],
            [4, 6, 2]])
    >>> m.sort()                    #对每一行进行排序
    >>> m
    matrix([[1, 2, 5],
            [2, 4, 6]])
    
    >>> m.shape                     #获得矩阵的行列数
    (2, 3)
    >>> m.shape[0]                  #获得矩阵的行数
    >>> m.shape[1]                  #获得矩阵的列数
    
    #索引取值
    >>> m[1,:]                      #取得第一行的所有元素
    matrix([[2, 4, 6]])
    >>> m[1,0:1]                    #第一行第0个元素,注意左闭右开
    matrix([[2]])
    >>> m[1,0:3]
    matrix([[2, 4, 6]])
    >>> m[1,0:2]
    matrix([[2, 4]])
    

    矩阵转置

    >>> a
    matrix([[1, 2],
            [3, 4]])
    >>> a.T           #方法一,ndarray也行
    matrix([[1, 3],
            [2, 4]])
    >>> np.transpose(a)   #方法二
    matrix([[1, 3],
            [2, 4]])
    

    矩阵求逆

    matrix中求逆有一种简便方法,就是a.I, ndarray不行

    >>> a
    matrix([[1, 2],
            [3, 4]])
    >>> a.I
    matrix([[-2. ,  1. ],
            [ 1.5, -0.5]])
    

    与np.array()的区别

    1. 生成数组所需格式不同

    mat可以从字符串或者列表中生成,但是array只能从列表中生成

    import numpy as np
    # mat = asmatrix 源码当中mat作为指向asmatrix函数的一个变量
    arr_a = np.mat(data="1,2;3,4")
    arr_b = np.asmatrix([[5,6],[7,8]])
    print(arr_a)
    '''
    [[1 2]
     [3 4]]
    '''
    print(arr_b)
    '''
    [[5 6]
     [7 8]]
    '''
    

    2. 生成数组的计算方式不同

    • array生成数组,用np.dot()表示矩阵乘积,(*)号或np.multiply()表示点乘
    arr_a = np.array([[1, 1], [1, 1]])
    arr_b = np.array([[2, 2], [2, 2]])
    print(np.dot(arr_a, arr_b))
    '''
    [[4 4]
     [4 4]]
    '''
    print(np.multiply(arr_a, arr_b))
    '''
    [[2 2]
     [2 2]]
    '''
    print(arr_a*arr_b)
    '''
    [[2 2]
     [2 2]]
    '''
    
    • mat生成数组,(*)和np.dot()相同,点乘只能用np.multiply()
    a = np.mat([[1, 1], [1, 1]])
    b = np.mat([[2, 2], [2, 2]])
    print(np.dot(a, b))
    '''
    [[4 4]
     [4 4]]
    '''
    print(a*b)
    '''
    [[4 4]
     [4 4]]
    '''
    print(np.multiply(a, b))
    '''
    [[2 2]
     [2 2]]
    '''
    

    总之,*慎用, 如果是矩阵乘法,就用np.dot(), 如果是点乘,就用np.multiply()。 这样就用不错。

    3. mat生成数组,有一种求逆的简便方式

    展开全文
  • np.array()把列表转化为数组 问题:数组和列表的转化问题 二、代码实例分析 (1)列表嵌套一维数组,然后np.array(列表) 1.定义一个空列表sub_f 2.定义两个数组index_x、index_y sub_f = [] index_x=np.array([i ...

    一、数组和列表

    列表不存在维度问题,数组是有维度的

    np.array()把列表转化为数组

    问题:数组和列表的转化问题

    官方解释:
    在这里插入图片描述

    二、代码实例分析

    (1)列表嵌套一维数组,然后np.array(列表)

    1.定义一个空列表sub_f
    2.定义两个数组index_x、index_y

    sub_f = []
    index_x=np.array([i for i in range(16)]).reshape(1,16)
    index_y=np.array([i for i in range(16,32)]).reshape(1,16)
    print(index_x)
    print(index_y)
    

    问题1:index_x、index_y是几维的?可见都是1×16的二维数组,因为两个中括号。

    [[ 0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15]]
    [[16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31]]
    

    问题2:index_x[0]是数组还是列表?可见依然是数组,没有逗号,一维数组(对比如下列表b可知)

    b=[0,1,2,3,4,5,6,7,8]
    print(b)
    print(index_x[0])
    
    [0, 1, 2, 3, 4, 5, 6, 7, 8]
    [ 0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15]
    

    3.给sub_f空列表添加一维数组index_x[0]、index_y[0]

    sub_f.append(index_x[0])
    sub_f.append(index_y[0])
    print(sub_f)
    

    结果:此时的sub_f是一个嵌套了两个一维数组的列表

    [array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15]), array([16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31])]
    [0, 1, 2, 3, 4, 5, 6, 7, 8]
    

    4.将sub_f转为数组

    l = np.array(sub_f)
    print(l)
    

    结果:此时的l是2×16的二维数组

    [[ 0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15]
     [16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31]]
    

    (2)列表嵌套二维数组

    5.继续定义一个空列表L,给L空列表添加l,添加两次l

    L=[]
    L.append(l)
    L.append(l)
    print(L)
    

    问题3:此时的L是什么样的?是一个嵌套了两个2×16二维数组的列表

    [array([[ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15],
           [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31]]), array([[ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15],
           [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31]])]
    

    6.将L转为数组

    ll=np.array(L)
    print(ll)
    

    问题4:此时的ll是什么样的?有几个中括号?是一个2×2×16的三维数组,由三个中括号

    [[[ 0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15]
      [16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31]]
    
     [[ 0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15]
      [16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31]]]
    

    (3)那么问题来了,如果直接嵌套两次sub_f列表和(2)中嵌套两次l数组np.array之后的结果是一样的吗?

    我们先再来看看sub_f和l分别是什么样的
    由前面可以知道sub_f和l

    print(sub_f)
    print(l)
    

    sub_f嵌套了两个一维数组的列表,l是2×16的二维数组

    [array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15]), array([16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31])]
    
    [[ 0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15]
     [16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31]]
    

    7.继续定义一个空列表LLL,给LLL空列表添加sub_f,添加两次

    LLL=[]
    LLL.append(sub_f)
    LLL.append(sub_f)
    print(LLL)
    

    问题5:此时的LLL是什么样的?是一个嵌套了四个一维数组的列表

    [[array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15]), array([16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31])], [array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15]), array([16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31])]]
    

    8.将LLL转为数组

    aaa=np.array(LLL)
    print(aaa)
    
    [[[ 0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15]
      [16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31]]
    
     [[ 0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15]
      [16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31]]]
    

    可见与(2)中的ll一样。

    展开全文
  • np.mat()函数用于将输入解释为矩阵。 np.mat(data, dtype=None) 不同于np.matrix,如果输入本身就已经是matrix或ndarray ,则np.asmatrix不会复制输入,而是仅仅创建了一个新的引用。 相当于np.matrix(data, copy=...
  • python: np.arraynp.asarray区别

    千次阅读 2019-08-18 19:11:03
    array和asarray都可将结构数据转换为ndarray类型。 但是主要区别就是当数据源是ndarray时, array仍会copy出一个副本,占用新的内存,但asarray不会。 import numpy as np ...arr2=np.array(data1) arr3=np.a...
  • np.array()和np.asarray()的区别

    万次阅读 多人点赞 2018-12-22 14:12:47
    numpy: np.asarray 函数   主要区别在于 np.array (默认情况下)将会copy该对象,而 np.asarray 除非必要,否则不会copy该对象。   array和asarray都可以将结构数据转化为ndarray,但是主要区别就是当...
  • np.arraynp.float32

    千次阅读 2021-07-17 15:31:43
    a = np.array([1, 2, 3, 4, 5], ndmin = 3) print (type(a),a) 打印结果:<class 'numpy.ndarray'> [[[1 2 3 4 5]]] import numpy as np a = np.array([1, 2, 3, 4, 5], ndmin = 2) print (type(a),a) ...
  • numpy可以快速的实现多维度的矩阵计算,本文介绍python中使用numpy.array函数创建数组的有关内容。1、numpy.array函数是由N个非负整数组成的tuple(元组),用于指定每个维度的大小。数组中项目的类型由单独的data-...
  • python中的np.array中的作用

    千次阅读 2021-01-24 23:44:44
    import numpy as np ...y=np.array(x) print(x) print(y) 输出结果: [[1, 2, 3], [4, 5, 6], [7, 8, 9]] [[1 2 3] [4 5 6] [7 8 9]] 总结:np.array()可以把列表中数据转换为矩阵或者张量。
  • np.array

    万次阅读 多人点赞 2018-05-04 15:23:01
    1.np.array构造函数用法:np.array([1,2,3,4,5]) 1.1 numpy array 和 python list 有什么区别?标准Python的列表(list)中,元素本质是对象。如:L = [1, 2, 3],需要3个指针和三个整数对象,对于数值运算比较浪费...
  • python:np.array的操作

    万次阅读 多人点赞 2019-02-16 00:03:54
    numpy.array的操作在python的数值运算中非常常用,可以用于生成不同的数组。在本文中,我们介绍一些numpy.array的基础操作。 文章目录np.arange():生成序列np.linspace():等差数列np.logspace():等比数列生成特殊...
  • np.arraynp.ndarray的区别

    万次阅读 多人点赞 2020-12-13 17:49:42
    mat1 = np.array([[1,2,3],[4,5,6]]) print("mat1 data:{}".format(mat1)) print("mat1 type:{}".format(type(mat1))) print("mat1 dtype:{}".format(mat1.dtype)) mat2 = np.ndarray(shape=(2,3), dtype=np.int3
  • np.array相关用法及基础知识

    千次阅读 2019-05-13 10:12:08
    np.array的相关基础知识
  • np.array参数

    千次阅读 2019-04-09 17:32:53
    numpy.ones(shape, dtype = None, order = ‘C’) 1. Shape 空数组的形状,整数或整数元组 2. Dtype 所需的输出数组类型,可选 3. Order 'C'为按行的 C 风格数组...thresh = np.array(mask[0, :, :, None],dtype='ui...
  • numpy中np.array()功能

    万次阅读 多人点赞 2019-06-05 16:58:03
    功能: 将数据转化为矩阵 ...从中我们可以看出np.arraynp.asarray功能是一样的,都是将输入转为矩阵格式。当输入是列表的时候,更改列表的值并不会影响转化为矩阵的值。 参考链接: https://bl...
  • numpy.array函数详解

    万次阅读 多人点赞 2019-01-21 10:31:17
    numpy.array(object, dtype=None, copy=True, order='K', subok=False, ndmin=0) 作用:创建一个数组。   参数说明: object:数组 公开数组接口的任何对象,__array__方法返回数组的对象,或任何(嵌套)...
  • numpy.array 函数简介

    万次阅读 2018-06-10 10:16:11
    import numpy as npnumpy.array 常用变量及参数dtype变量,用来存放数据类型, 创建数组时可以同时指定。shape变量, 存放数组的大小, 这人值是可变的, 只要确保无素个数不变的情况下可以任意修改。(-1为自动适配...
  • np.array_split() 不均等分割,不会报错 ### 关于np.split()函数 x = np.arange(9) #9行1列的列向量 print(x, np.shape(x)) y = np.split(x, 3) # 平均分成三份,不能平均的话则会报错 print(y) y = np.split(x, 3, ...
  • mislabeled_indices = np.array(np.where(a == 1)) 为什么输出的mislabeled_indices = [[ 0 0 0 0 0 0 0 0 0 0 0] [ 5 6 13 19 28 29 34 44 45 46 48]] 怎么是(2,x)的列表? 第0行为什么都是0?
  • np.split() 与 np.array_split() 的区别

    千次阅读 2020-03-09 10:29:12
    np.split() 与 np.array_split() 的区别 np.split() 均等分割,不均等会报错 np.array_split() 不均等分割,不会报错 参数: split(ary, indices_or_sections, axis=0) :把一个数组从左到右按顺序切分参数: ary:要...
  • np.arraynp.matrix的差别

    万次阅读 2018-11-22 02:43:35
    np.array([1,2,3])这种不是矩阵! import numpy as np a = np.array([1,2,3]) a array([1, 2, 3]) a.shape #a不是矩阵, 因为a.T.shape仍然是(3,) (3,) b = a.reshape(1,3) #把a转化为矩阵 b array([[1, 2, 3]]) b...
  • np.array()和np.mat()区别

    万次阅读 多人点赞 2019-05-19 14:43:58
    array只能从列表中生成 import numpy as np # mat = asmatrix 源码当中mat作为指向asmatrix函数的一个变量 arr_a = np.mat(data="1,2;3,4") arr_b = np.asmatrix([[5,6],[7,8]]) print(arr_a) ''' [[1 2] ...
  • np.array_split()&np.split()

    万次阅读 2018-03-13 11:07:37
    np.split(): 大小要么按照数字来划分(int),要么是一个list来划分:但是如果你仅是输入一个int类型的数字的话,你的数组必须是均等的分割,否则就会报错,不像array_split()是可以进行不均等的划分的! >>> x = ...
  • Numpy np.array 相关常用操作学习笔记

    千次阅读 2020-08-15 22:29:03
    1.np.array构造函数 用法:np.array([1,2,3,4,5]) 1.1 numpy array 和 python list 有什么区别? 标准Python的列表(list)中,元素本质是对象。如:L = [1, 2, 3],需要3个指针和三个整数对象,对于数值运算...
  • numpy: np.asarray 函数

    万次阅读 多人点赞 2017-12-15 11:42:16
    np.asarray(a, dtype=None, order=None) 将结构数据转化为ndarray。Parameters: a : array_like dtype : data-type, optional order : {‘C’, ‘F’}, optional Returns: out : ndarray 与 np.array 的不同np.as...
  • python的np.diff函数

    千次阅读 2020-12-29 17:30:22
    a=np.array([1, 6, 7, 8, 12]) diff_x1 = np.diff(a) print("diff_x1",diff_x1) diff_x1 [5 1 1 4] # 二维数组 b=np.array([[1, 6, 7, 8, 12],[1, 6, 7, 8, 12]]) diff_x2 = np.diff(b) print("diff_x2 \n",diff_...
  • np.array_split()与np.split()

    千次阅读 2019-05-07 19:47:30
    np.array_split() 可以进行不均等分割,而np.split() 只能进行均等分割。 例如 **array_split()**的不均等分割 >>> x = np.arange(8.0) >>> np.array_split(x, 3) [array([ 0., 1., 2.]), array...
  • np.arraynp.ndarray区别

    千次阅读 2018-06-21 17:33:00
    答:Well, np.array is just a convenience function to create an ndarray, it is not a class itself.(嗯,np.array只是一个便捷的函数,用来创建一个ndarray,它本身不是一个类) You can ...
  • np.array()

    万次阅读 多人点赞 2018-12-29 16:41:00
    numpy.array(object,dtype=None,copy=True,order=None,subok=False,ndmin=0) object:列表、元组等。dtype:数据类型。如果未给出,则类型为被保存对象所需的最小类型。copy:布尔来写,默认 True,表示复制对象。...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 133,576
精华内容 53,430
关键字:

np.array函数

友情链接: cgdb-0.6.5.rar