精华内容
下载资源
问答
  • 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(object, dtype=None, copy=True, order='K', subok=False, ndmin=0)

    作用:创建一个数组。

     

    参数说明:

    object:数组

    公开数组接口的任何对象,__array__方法返回数组的对象,或任何(嵌套)序列。

     

    dtype : 数据类型,可选

    数组所需的数据类型。如果没有给出,那么类型将被确定为保持序列中的对象所需的最小类型。此参数只能用于“upcast”数组。对于向下转换,请使用.astype(t)方法。

     

    copy : bool,可选

    如果为true(默认值),则复制对象。否则,只有当__array__返回副本,obj是嵌套序列,或者需要副本来满足任何其他要求(dtype,顺序等)时,才会进行复制。

     

    order : {'K','A','C','F'},可选

    指定阵列的内存布局。如果object不是数组,则新创建的数组将按C顺序排列(行主要),除非指定了'F',在这种情况下,它将采用Fortran顺序(专业列)。如果object是一个数组,则以下成立。

    当copy=False出于其他原因而复制时,结果copy=True与对A的一些例外情况相同,请参阅“注释”部分。默认顺序为“K”。

     

    subok : bool,可选

    如果为True,则子类将被传递,否则返回的数组将被强制为基类数组(默认)。

     

    ndmin : int,可选

    指定结果数组应具有的最小维数。根据需要,将根据需要预先设置形状。

     

    返回值:out:ndarray

    满足要求的数组对象

     

    例子:

    >>> np.array([1, 2, 3]) 
    array([1, 2, 3])

    二维

    >>> np.array([[1, 2], [3, 4]]) 
    array([[1, 2], [3, 4]])

     

    最小维度为2:

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

    提供类型

    >>> np.array([1, 2, 3], dtype=complex) 
    array([ 1.+0.j, 2.+0.j, 3.+0.j])

    由多个元素组成的数据类型:

    >>> x = np.array([(1,2),(3,4)],dtype=[('a','<i4'),('b','<i4')]) 
    >>> x['a'] 
    array([1, 3])

    从子类创建数组:

    >>> np.array(np.mat('1 2; 3 4')) 
    array([[1, 2], [3, 4]]) 
    
    >>> np.array(np.mat('1 2; 3 4'), subok=True) 
    matrix([[1, 2], [3, 4]])

    参考资料

    https://docs.scipy.org/doc/numpy/reference/generated/numpy.array.html

     

    展开全文
  • numpy中的array函数

    2021-01-03 21:25:00
    array函数用于创建ndarray数组。 np.array(object, dtype, ndmin) # object:接收array,表示想要创建的数组 # dtype:接收data-type,表示数组所需的数据类型,未给定则选择保存对象所需的最小类型,默认为None # ndmin:...

    array函数用于创建ndarray数组。

    np.array(object, dtype, ndmin)
    # object:接收array,表示想要创建的数组
    # dtype:接收data-type,表示数组所需的数据类型,未给定则选择保存对象所需的最小类型,默认为None
    # ndmin:接收int,指定生成数组应该具有的最小维数,默认为None
    
    >>> import numpy as np	#导入numpy
    >>> np.array([1, 2, 3, 4, 5])	#把列表转换为ndarray数组
    array([1, 2, 3, 4, 5])
    >>> np.array((1, 2, 3, 4, 5))	#把元组转换成ndarray数组
    array([1, 2, 3, 4, 5])
    >>> np.array(range(5))	#把range对象转换成ndarray数组
    array([0, 1, 2, 3, 4])
    >>> np.array([[1, 2, 3], [4, 5, 6]])	#把二维数组转换成ndarray数组
    array([[1, 2, 3],
           [4, 5, 6]])
    
    展开全文
  • numpyarray()函数

    千次阅读 2020-04-18 19:24:10
    创建一个ndarry只需调用numpy中的array函数即可。 语法格式为:numpy.array(object,dtype=None,copy=True,order=None,subok=False,ndmin=0) object–数组或嵌套的数列 dtype–数组元素的数据类型,可选 co...

    ndarry是numpy的N维数组对象,它是一系列同类型数据的集合,以0下标为开始进行集合中元素的索引。

    创建一个ndarry只需调用numpy中的array函数即可。
    语法格式为:numpy.array(object,dtype=None,copy=True,order=None,subok=False,ndmin=0)
    object–数组或嵌套的数列
    dtype–数组元素的数据类型,可选
    copy–对象是否需要复制,可选
    order–创建数组的样式,C为行方向,F为列方向,A为任意方向(默认)
    subok–默认返回一个与基类类型一致的数组
    ndmin–指定生成数组的最小维度

    >>> a=np.array(((1,2,3),(4,5,6)))
    >>> print(a)
    [[1 2 3]
     [4 5 6]]
    >>> print(a.shape)	#查看a的shape
    (2, 3)
    >>> b=np.array([1,6,8],ndmin=2)
    >>> print(b)
    [[1 6 8]]
    >>> print(b.size)	#查看b的元素个数
    3
    >>> c=np.array([[4,5,6],[7,8,9]],dtype=complex)
    >>> print(c)
    [[4.+0.j 5.+0.j 6.+0.j]
     [7.+0.j 8.+0.j 9.+0.j]
    >>> print(c.ndim)	#查看c的维度
    2
    >>> print(c.dtype)	#查看c的元素类型
    complex128

    以上内容,如有错误,敬请批评指正!谢谢!

    展开全文
  • 如下所示: import numpy a = numpy.array(([3,2,1],[2,5,7],[4,7,8])) ... 您可能感兴趣的文章:python中找出numpy array数组的最值及其索引方法对numpy中数组元素的统一赋值实例Python numpy 常用函数总结
  • python中数组(numpy.array)的基本操作

    万次阅读 多人点赞 2018-10-21 11:23:44
    为什么要用numpy  Python中提供了list容器,可以当作数组使用。但列表中的元素可以是任何对象,因此列表中保存的是对象的指针,这样一来,为了保存一个简单的列表[1,2,3]。就需要三个指针和三个整数对象。对于数值...

     

    为什么要用numpy

        Python中提供了list容器,可以当作数组使用。但列表中的元素可以是任何对象,因此列表中保存的是对象的指针,这样一来,为了保存一个简单的列表[1,2,3]。就需要三个指针和三个整数对象。对于数值运算来说,这种结构显然不够高效。
        Python虽然也提供了array模块,但其只支持一维数组,不支持多维数组(在TensorFlow里面偏向于矩阵理解),也没有各种运算函数。因而不适合数值运算。
        NumPy的出现弥补了这些不足。

    (——摘自张若愚的《Python科学计算》)

    import numpy as np

     

    数组创建

    ## 常规创建方法
    a = np.array([2,3,4])
    b = np.array([2.0,3.0,4.0])
    c = np.array([[1.0,2.0],[3.0,4.0]])
    d = np.array([[1,2],[3,4]],dtype=complex) # 指定数据类型
    print a, a.dtype
    print b, b.dtype
    print c, c.dtype
    print d, d.dtype

     

    [2 3 4] int32
    [ 2.  3.  4.] float64
    [[ 1.  2.]
     [ 3.  4.]] float64
    [[ 1.+0.j  2.+0.j]
     [ 3.+0.j  4.+0.j]] complex128

     

    数组的常用函数
    print np.arange(0,7,1,dtype=np.int16) # 0为起点,间隔为1时可缺省(引起歧义下不可缺省)
    print np.ones((2,3,4),dtype=np.int16) # 2页,3行,4列,全1,指定数据类型
    print np.zeros((2,3,4)) # 2页,3行,4列,全0
    print np.empty((2,3)) #值取决于内存
    print np.arange(0,10,2) # 起点为0,不超过10,步长为2
    print np.linspace(-1,2,5) # 起点为-1,终点为2,取5个点
    print np.random.randint(0,3,(2,3)) # 大于等于0,小于3,2行3列的随机整数

     

    [0 1 2 3 4 5 6]
    [[[1 1 1 1]
      [1 1 1 1]
      [1 1 1 1]]

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

     [[ 0.  0.  0.  0.]
      [ 0.  0.  0.  0.]
      [ 0.  0.  0.  0.]]]
    [[  1.39069238e-309   1.39069238e-309   1.39069238e-309]
     [  1.39069238e-309   1.39069238e-309   1.39069238e-309]]
    [0 2 4 6 8]
    [-1.   -0.25  0.5   1.25  2.  ]
    [[1 0 1]
     [0 1 0]]

     

     类型转换
    print float(1)
    print int(1.0)
    print bool(2)
    print float(True)

      

    1.0
    1
    True
    1.0

      

    数组输出

        从左到右,从上向下
        一维数组打印成行,二维数组打印成矩阵,三维数组打印成
    矩阵列表

    print np.arange(1,6,2)
    print np.arange(12).reshape(3,4) # 可以改变输出形状
    print np.arange(24).reshape(2,3,4)# 2页,3行,4页

      

    [1 3 5]
    [[ 0  1  2  3]
     [ 4  5  6  7]
     [ 8  9 10 11]]
    [[[ 0  1  2  3]
      [ 4  5  6  7]
      [ 8  9 10 11]]

     [[12 13 14 15]
      [16 17 18 19]
      [20 21 22 23]]]

     

    基本运算

    ## 元素级运算
    a = np.array([1,2,3,4])
    b = np.arange(4)
    print a, b
    print a-b
    print a*b
    print a**2
    print 2*np.sin(a)
    print a>2
    print np.exp(a) # 指数

       

    [1 2 3 4] [0 1 2 3]
    [1 1 1 1]
    [ 0  2  6 12]
    [ 1  4  9 16]
    [ 1.68294197  1.81859485  0.28224002 -1.51360499]
    [False False  True  True]
    [  2.71828183   7.3890561   20.08553692  54.59815003]

     

    ## 矩阵运算(二维数组)
    a = np.array([[1,2],[3,4]]) # 2行2列
    b = np.arange(6).reshape((2,-1)) # 2行3列
    print a,b
    print a.dot(b) # 2行3列

     

    [[1 2]
     [3 4]] [[0 1 2]
     [3 4 5]]
    [[ 6  9 12]
     [12 19 26]]

     

    ## 非数组运算,调用方法
    a = np.random.randint(0,5,(2,3))
    print a
    print a.sum(),a.sum(axis=1),a.sum(0) # axis用于指定运算轴(默认全部,可指定0或1)
    print a.min(),a.max(axis=1),a.mean(axis=1) # axis = 0: 按列计算,axis = 1: 按行计算
    print a.cumsum(1) # 按行计算累积和

     

    [[2 3 3]
     [0 2 1]]
    11 [8 3] [2 5 4]
    0 [3 2] [ 2.66666667  1.        ]
    [[2 5 8]
     [0 2 3]]

     

    索引,切片,迭代

    ## 一维数组
    a = np.arange(0,10,1)**2
    print a
    print a[0],a[2],a[-1],a[-2] # 索引从0开始,-1表示最后一个索引
    print a[2:5],a[-5:-1] # 包括起点,不包括终点
    a[-1] = 100; print a # 赋值
    a[1:4]=100; print a # 批量赋值
    a[:6:2] = -100; print a # 从开始到第6个索引,每隔一个元素(步长=2)赋值
    print a[: :-1];print a # 将a逆序输出,a本身未发生改变
    b = [np.sqrt(np.abs(i)) for i in a]; print b # 通过遍历赋值

      

    [ 0  1  4  9 16 25 36 49 64 81]
    0 4 81 64
    [ 4  9 16] [25 36 49 64]
    [  0   1   4   9  16  25  36  49  64 100]
    [  0 100 100 100  16  25  36  49  64 100]
    [-100  100 -100  100 -100   25   36   49   64  100]
    [ 100   64   49   36   25 -100  100 -100  100 -100]
    [-100  100 -100  100 -100   25   36   49   64  100]
    [10.0, 10.0, 10.0, 10.0, 10.0, 5.0, 6.0, 7.0, 8.0, 10.0]

      

    ## 多维数组
    a = np.arange(0,20).reshape((4,5))
    print a, a[2,3], a[:,1], a[1:4,2], a[1:3,:]
    print a[-1] # 相当于a[-1,:],即索引少于轴数时,确实的索引默认为整个切片

    b = np.arange(0,24).reshape((2,3,4))
    print b,b[1] # 相当于b[1,:,:] 和b[1,...]
    print '-------------------'
    for row in a:
        print row # 遍历以第一个轴为基础

     

    [[ 0  1  2  3  4]
     [ 5  6  7  8  9]
     [10 11 12 13 14]
     [15 16 17 18 19]] 13 [ 1  6 11 16] [ 7 12 17] [[ 5  6  7  8  9]
     [10 11 12 13 14]]
    [15 16 17 18 19]
    [[[ 0  1  2  3]
      [ 4  5  6  7]
      [ 8  9 10 11]]

     [[12 13 14 15]
      [16 17 18 19]
      [20 21 22 23]]]

     [[12 13 14 15]
     [16 17 18 19]
     [20 21 22 23]]
    -------------------
    [0 1 2 3 4]
    [5 6 7 8 9]
    [10 11 12 13 14]
    [15 16 17 18 19]

      

    形状操作

    a = np.floor(10*np.random.random((3,4)))
    print a, a.shape #输出a的形状
    print a.ravel() # 输出平坦化后的a(a本身不改变)
    a.shape = (6,2); print a # 改变a的形状
    print a.transpose() # 输出a的转置

     

    [[ 0.  4.  3.  2.]
     [ 1.  1.  3.  3.]
     [ 4.  4.  6.  5.]] (3, 4)
    [ 0.  4.  3.  2.  1.  1.  3.  3.  4.  4.  6.  5.]
    [[ 0.  4.]
     [ 3.  2.]
     [ 1.  1.]
     [ 3.  3.]
     [ 4.  4.]
     [ 6.  5.]]
    [[ 0.  3.  1.  3.  4.  6.]
     [ 4.  2.  1.  3.  4.  5.]]

     

    ## 补充:reshape和resize
    a = np.array([[1,2,3],[4,5,6]])
    b = a
    a.reshape((3,2))# 不改变数组本身的形状
    print a
    b.resize((3,2))# 改变数组本身形状
    print b

      

    [[1 2 3]
     [4 5 6]]
    [[1 2]
     [3 4]
     [5 6]]

    ---------------------

      在numpy模块中,我们经常会使用resize 和 reshape,在具体使用中,通常是使用resize改变数组的尺寸大小,使用reshape用来增加数组的维度。

    1.resize

    之前看到别人的博客说,resize没有返回值,其实这取决于你如何使用resize,resize有两种使用方式,一种是没有返回值的,直接对原始的数据进行修改,还有一种用法是有返回值的,所以不会修改原有的数组值。

    1.1有返回值,不对原始数据进行修改

        import numpy as np
        X=np.array([[1,2,3,4],
                      [5,6,7,8],
                      [9,10,11,12]])
         
        X_new=np.resize(X,(3,3)) # do not change the original X
        print("X:\n",X)  #original X
        print("X_new:\n",X_new) # new X
         
        >>
        X:
         [[ 1  2  3  4]
         [ 5  6  7  8]
         [ 9 10 11 12]]
        X_new:
         [[1 2 3]
         [4 5 6]
         [7 8 9]]

    1.2 无返回值,直接修改原始数组的大小

        import numpy as np
        X=np.array([[1,2,3,4],
                      [5,6,7,8],
                      [9,10,11,12]])
         
        X_2=X.resize((3,3))  #change the original X ,and do not return a value
        print("X:\n",X)  # change the original X
        print("X_2:\n",X_2) # return None
         

         
        X:
         [[1 2 3]
         [4 5 6]
         [7 8 9]]
        X_2:
         None


    2.reshape

    给数组一个新的形状而不改变其数据

        import numpy as np
        X=np.array([1,2,3,4,5,6,7,8])
         
        X_2=X.reshape((2,4)) #retuen a 2*4 2-dim array
        X_3=X.reshape((2,2,2)) # retuen a 2*2*2 3-dim array
         
        print("X:\n",X)
        print("X_2:\n",X_2)
        print("X_3:\n",X_3)
         
        >>
        X:
         [1 2 3 4 5 6 7 8]
        X_2:
         [[1 2 3 4]
         [5 6 7 8]]
        X_3:
         [[[1 2]
          [3 4]]
         
         [[5 6]
          [7 8]]]
    ---------------------
    作者:墨晓白
    原文:https://blog.csdn.net/qq_24193303/article/details/80965274
     

    展开全文
  • numpy可以快速的实现多维度的矩阵计算,本文介绍python中使用numpy.array函数创建数组的有关内容。1、numpy.array函数是由N个非负整数组成的tuple(元组),用于指定每个维度的大小。数组中项目的类型由单独的data-...
  • Python中的numpy常用函数整理

    千次阅读 2021-03-05 20:19:54
    导入numpy:import numpy as np一、numpy常用函数1.数组生成函数np.array(x):将x转化为一个数组np.array(x,dtype):将x转化为一个类型为type的数组np.zeros(shape):生成shape维度大小的全0数组np.zeros_like(a):...
  • numpy.array 函数简介

    万次阅读 2018-06-10 10:16:11
    import numpy as npnumpy.array 常用变量及参数dtype变量,用来存放数据类型, 创建数组时可以同时指定。shape变量, 存放数组的大小, 这人值是可变的, 只要确保无素个数不变的情况下可以任意修改。(-1为自动适配...
  • Python中保存和读取numpy array类型变量

    千次阅读 2018-12-14 11:02:06
    Python中保存和读取numpy array类型变量 保存: import numpy as np predict_label = np.array([0,1,0,1]) np.save(‘predict_label.npy’,predict_label) 读取 import numpy as np predict_label = np.load...
  • 学习Python的童鞋,对numpy都不陌生...如何创建array?可以用tuple也可用list. 其中,dtype用来指定数据类型,int32指,存放int类型最高32位,不过也可以去掉32,直接写int。数据类型float都可以定义数据的长度,也...
  • Numpy 符号函数

    2019-04-17 03:03:21
    1、numpy.mod() numpy.mod() 计算输入数组中相应元素的相除后的余数。...import numpy as np a = np.array([10,20,30]) b = np.array([3,5,7]) print ('第一个数组:') print (a) print ('\n') print ('第二个...
  • numpy array的数据类型

    2018-12-29 12:24:24
    在使用array函数构造数组时,需要指定数据类型dtype 以下为dtype的常用类型 bool8 8 bits int8 8 bits int16 16 bits int32 32 bits int64 64 bits uint8 8 bits uint16 16 bits uint32 32 bits ...
  • numpy 科学计算array的常用初始化、操作 注意事项,以及各种随机数的demo
  • python 中 numpy array 中的维度

    千次阅读 2020-12-04 03:27:30
    简介numpy 创建的数组都有一个shape属性,它是一个元组,返回各个维度的维数。有时候我们可能需要知道某一维的... y = np.array([[1,2,3],[4,5,6]])>>> print(y)[[1 2 3][4 5 6]]>>> print(y.s...
  • numpy阶跃函数 numpy.heaviside

    千次阅读 2020-07-09 13:49:28
    numpy.heaviside(x1,x2) Compute the Heaviside step function. 官方链接 x1 [array_like] Input values. x2 [array_like] The value of the function when x1 is 0. 示例: np.heaviside([-1.5, 0, 2.0], 0.5) ...
  • numpy array转换为bytes

    千次阅读 2020-07-08 16:42:09
    需要将图片的numpyarray数据转换为bytes,转换之后的bytes数据要等价于open(file,"rb")。在使用numpy的tobytes(等价于tostring)方法发现得到的bytes数据并不等价于open(file,"rb")数据,需要对array数据进行相同的...
  • NumPy 算术函数

    2021-01-03 05:11:46
    NumPy 算术函数 NumPy 算术函数包含简单的加减乘除: add(),subtract(),multiply() 和 divide()。 需要注意的是数组必须具有相同的形状或符合数组广播规则。 实例 import numpy as np a = np.arange(9, dtype = ...
  • NumPy 数学函数

    2021-01-03 02:09:09
    NumPy 数学函数 NumPy 包含大量的各种数学运算的函数,包括三角函数,算术运算的函数,复数处理函数等。 三角函数 NumPy 提供了标准的三角函数:sin()、cos()、tan()。 实例 import numpy as np a = np.array([0,...
  • numpy 返回函数的上三角矩阵 np.triu() matrix2=np.triu(matrix1) numpy.triu(m, k=0)[source] Upper triangle of an array. Return a copy of a matrix with the elements below the k-th diagonal zeroed. np....
  • numpy array交换行或列

    千次阅读 2020-04-24 17:58:58
    numpy array交换行或列 Python中一般不需要重写swap函数,一般情况下交换两个变量的值只需要 a, b = b, a 但是ndarray格式的矩阵不能以这样的形式交换 In [1]: a = np.array(((1,2), (3,4), (5,6), (7,8))) In [2...
  • Python-NumpyArray用法总结

    万次阅读 多人点赞 2018-10-14 19:45:12
    Numpyarray(数组) Numpy主要对象是齐次多维数组,由正整数元组索引,Numpy中维度称为轴(axis),数组的维数称为秩(rank)。 可以参考:Numpy快速入门 1.1 创建数组 常规方法创建数组 import numpy as np #一...
  • 博客链接备份,ta的好资料,值得收藏 博客链接备份,ta的好资料,值得收藏
  • Cannot convert a symbolic Tensor to a numpy array错误的解决

    万次阅读 热门讨论 2021-03-08 11:20:19
    NotImplementedError: Cannot convert a symbolic Tensor (bert/encoder/layer_0/attention/self/strided_slice:0) to a numpy array. This error may indicate that you're trying to pass a Tensor to a NumPy ...
  • numpyarray_equal函数

    2021-12-18 08:27:14
      numpyarray_equal函数用于比较两个list或ndarray是否相等: import numpy as np a = np.array_equal([1, 2], [1, 2]) b = np.array_equal(np.array([1, 2]), np.array([1, 2])) c = np.array_equal([1, 2], ...
  • NumPy 统计函数

    2019-08-08 10:38:45
    章节Numpy 介绍 Numpy 安装 NumPy ndarray NumPy 数据类型 NumPy 数组创建 NumPy 基于已有数据创建数组 ...NumPy 字符串函数 NumPy 数学函数 NumPy 统计函数 NumPy 排序、查找、计数 NumPy 副本和视图 NumPy 矩...
  • Numpy中的广播和数组运算

    千次阅读 2019-04-09 08:40:05
    Numpy中当数组进行运算时,如果两个数组的形状相同,那么两个数组相乘就是两个数组的对应位相乘,这是要求维数相乘,并且各维度的长度相同,但是当运算中两个数组的形状不同使时,numpy将会自动触发广播机制,所以我们要...
  • a=np.array([1,3,6],[3,4,11],[6,1,4]) print(np.amin(a,1) #每行最小值 print(np.amin(a,0) #每列最小值 print(np.amax(a) #所有元素中最大值 print(np.amax(a,1)) #j每行的最大值 结果: [1 3 1] [1 1 4] 11 [ 6...
  • Numpy 多项式函数

    千次阅读 2019-03-22 15:02:39
    多项式函数是变量的整数次冥与系数的乘积之和,形如 f(x)=anxn+an−1xn−1+......+a2x2+a1x1f(x)=a_{n}x^{n}+a_{n-1}x^{n-1}+......+a_{2}x^{2}+a_{1}x^{1}f(x)=an​xn+an−1​xn−1+......+a2​x2+a1​x1 例:f(x)=...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 122,215
精华内容 48,886
关键字:

numpy的array函数