精华内容
下载资源
问答
  • numpy数组求累加numpy.cumsum()

    千次阅读 2019-04-11 22:02:00
    numpy数组求累加 numpy.cumsum(a, axis=None, dtype=None, out=None) 按照所给定的轴参数返回元素的梯形累计,axis=0,按照累加。axis=1,按照列累加。axis不给定具体值,就把numpy数组当成一个一维数组。 ...

    numpy数组求累加和

    numpy.cumsum(a,  axis=None, dtype=None, out=None)

    按照所给定的轴参数返回元素的梯形累计和,axis=0,按照行累加。axis=1,按照列累加。axis不给定具体值,就把numpy数组当成一个一维数组。

    >>>

    >>> a = np.array([[1,2,3], [4,5,6]])

    >>> a

    array([[1, 2, 3],

              [4, 5, 6]])

    >>> np.cumsum(a)

    array([ 1,  3,  6, 10, 15, 21])

    >>> np.cumsum(a, dtype=float)    # 指定输出类型。

        #注意啦!没有指定轴!输出就变成1维数组了,如果你本来输入的就是1维数组,那就这样了。

    array([  1.,  3.,  6.,  10.,  15.,  21.])

    #array([1,1+2=3,1+2+3=6,1+2+3+4=10,1+2+3+4+5=15,1+2+3+4+5+6=21])

    >>>

    >>> np.cumsum(a,axis=0)      # sum over rows for each of the 3 columns

                                                      #按照行累加,行求和

    array([[1, 2, 3],

               [5, 7, 9]])            #[1,    2,    3]

                                         #[1+4=5,2+5=7,3+6=9]

    >>> np.cumsum(a,axis=1)      # sum over columns for each of the 2 rows

                                                       #按照列累加,列求和

    array([[ 1,  3,  6],

               [ 4,  9, 15]])




    链接:https://www.jianshu.com/p/00cddc31db4d

     

    转载于:https://www.cnblogs.com/jiangkejie/p/10692942.html

    展开全文
  • 如何创建NumPy数组?创建NumPy数组常用函数【NumPy快速入门2】
  • 一、numpy数组的增删查改 (一)查改 1.通过下标访问 array[0][0] array[0,1] 2.通过下标修改 array[0][0] = 1 array[0,0] = 2 (二)增 1.增加一列 (1)通过np.c_[a,b]方式 import numpy as...

    一、numpy数组的增删查改

    (一)查和改

       1.通过下标访问

            array[0][0]

            array[0,1]

        2.通过下标修改

            array[0][0] = 1

            array[0,0] = 2

    (二)增

        1.增加一列

        (1)通过np.c_[a,b]方式

    import numpy as np
    a = np.array([[1,2,3],[4,5,6],[7,8,9]]) 
    b = np.array([2,5,8])
    print(np.c_[a,b])
    
    输出:
    [[1 2 3 2]
     [4 5 6 5]
     [7 8 9 8]]

        (2)通过np.insert(a, index, b, axis=1)方式

    import numpy as np
    a = np.array([[1,2,3],[4,5,6],[7,8,9]]) 
    b = np.array([2,5,8])
    # 2代表下标,这里代表插入到第三列,axis=1,插入一列,axis=0,插入一行
    print(np.insert(a, 2, b, axis=1))
    #插入多列
    c = np.array([[1,4,7],[2,5,8]]).T
    print(np.insert(a, [0,1], c, axis=1))
    
    输出:
    [[1 2 2 3]
     [4 5 5 6]
     [7 8 8 9]]
    
    [[1 1 2 2 3]
     [4 4 5 5 6]
     [7 7 8 8 9]]

       (3)通过np.column_stack((a,b))的方式,效果跟第一种一样

          注意,第一种和第三种只能插入到最后一列,而insert的方法可以插入到任意一列

        2.增加一行

        (1)通过np.r_[a,b]方法

    import numpy as np
    a = np.array([[1,2,3],[4,5,6],[7,8,9]]) 
    b = np.array([2,5,8])
    print(np.r_[a,[b]])
    
    输出:
    [[1 2 3]
     [4 5 6]
     [7 8 9]
     [2 5 8]]

        注意这里a和b的shape必须要一致 ,这跟插入一列不一样

        (2)通过np.row_stack((a,b))方法

    import numpy as np
    a = np.array([[1,2,3],[4,5,6],[7,8,9]]) 
    b = np.array([2,5,8])
    print(np.row_stack((a,b)))
    
    输出:
    [[1 2 3]
     [4 5 6]
     [7 8 9]
     [2 5 8]]

        这里b和a的一行形状相同即可 

        (3)通过np.insert(a, index, b, axis=0)的方法

    import numpy as np
    a = np.array([[1,2,3],[4,5,6],[7,8,9]]) 
    b = np.array([2,5,8])
    print(np.insert(a, 1, b, axis=0))
    # 可以插入多行
    c = np.array([[1,4,7],[2,5,8]])
    print(np.insert(a, [0,1], c, axis=0))
    
    输出:
    [[1 2 3]
     [2 5 8]
     [4 5 6]
     [7 8 9]]
    
    [[1 4 7]
     [1 2 3]
     [2 5 8]
     [4 5 6]
     [7 8 9]]

    (三)删 

        1.删除一列或一行

    import numpy as np
    a = np.array([[1,2,3],[4,5,6],[7,8,9]]) 
    print(np.delete(a, 1, axis=0))
    print(np.delete(a, -1, axis=1))
    
    输出:
    [[1 2 3]
     [7 8 9]]
    [[1 2]
     [4 5]
     [7 8]]

        2.删除多列或多行 

    import numpy as np
    a = np.array([[1,2,3],[4,5,6],[7,8,9]]) 
    print(np.delete(a, [0,1], axis=0))
    print(np.delete(a, [1,2], axis=1))
    
    输出:
    [[7 8 9]]
    [[1]
     [4]
     [7]]

       注意,当删除多行或多列时时,不能使用倒序下标-1,-2 

    二、参考文献 

        【1】https://www.cnblogs.com/MrLJC/p/4823499.html

        【2】https://blog.csdn.net/zzzzlei123123123/article/details/100154501

    展开全文
  • Numpy数组操作

    2020-12-21 00:05:31
    目录Numpy数组的操作概述Numpy数组的创建numpy.array方法numpy.zeros方法numpy.ones方法numpy.full方法numpy.arange方法numpy.linspace方法numpy.random.random方法numpy.random.randint方法numpy.random.normal方法...
  • Numpy 数组

    2018-10-30 23:24:30
    Numpy数组是具有固定大小的类型化数组。 Numpy数组是同质的,只能存放同一种类型的对象。 数组由两部分组成: 存储在连续的内存块中的实际数据 描述实际数据的元数据 文章目录Numpy 数组创建一维数组创建多维数组...

    Numpy 数组

    Numpy数组是具有固定大小的类型化数组。
    Numpy数组是同质的,只能存放同一种类型的对象。

    数组由两部分组成:

    • 存储在连续的内存块中的实际数据
    • 描述实际数据的元数据

    创建一维数组

    Numpy:数组的好处是,知道数组元素的类型,能确定存储数组的大小。
    Numpy 数组还能用向量化运算来处理整个数组。

    In[2]: import numpy as np
    In[3]: a = np.arange(5)
    In[4]: a.dtype  
    Out[4]: dtype('int64')
    In[5]: a
    Out[5]: array([0, 1, 2, 3, 4])
    In[6]: a.shape
    Out[6]: (5,)
    
    • dtype属性:存储元素的类型
    • shape属性:是一个元组,存放的是数组在每个维度的长度

    创建多维数组

    b = np.array([np.arange(2),np.arange(2)])
    b
    Out[8]: 
    array([[0, 1],
           [0, 1]])
    b.shape
    Out[9]: (2, 2)
    
    • array()函数:创建数组,需要传递给一个数组类型对象

    选择 Numpy 数组元素

    通过a[m,n]的形式访问,m和n是数组元素的下标

    b[0,1]
    Out[10]: 1
    b[0,0]
    Out[11]: 0
    

    Numpy 的数值类型

    类型说明
    bool布尔类型,占用1bit
    inti长度取决于平台的整数(通常为int32和int64)
    int8字节类型
    int16整型
    int32整型
    int64整型(-263~263-1)
    uint8无符号整型
    uint32无符号整型
    uint64无符号整型(0~2^64-1)
    float16半精度浮点型
    float32单精度浮点型
    flaot64双精度浮点型
    complex64复数类型,两个32位浮点数表示
    complex128复数类型,两个64位浮点数表示
    np.float64(42)
    Out[12]: 42.0
    

    数据类型都有相应的转换函数

    np.arange(7, dtype=np.uint16)
    Out[13]: array([0, 1, 2, 3, 4, 5, 6], dtype=uint16)
    

    创建指定数据类型

    • 不能把复数类型转换成整数
    • 不能把复数类型转换成浮点数
    • 允许把浮点数转换成复数

    数据类型对象

    数据类型对象是 numpy.dtype 类的实例,数组也是有数据类型。

    a.dtype.itemsize
    Out[14]: 8
    
    • itemsize属性:查看字节的具体数目

    字符码

    为了与前身 Numeric 向后兼容

    类型字符码
    整型i
    无符号整型u
    单精度浮点型f
    双精度浮点型d
    布尔型b
    复数型D
    字符型S
    np.arange(7, dtype='f')
    Out[16]: array([0., 1., 2., 3., 4., 5., 6.], dtype=float32)
    

    dtype 属性

    t = np.dtype('f')
    t.char
    Out[19]: 'f'
    t.type
    Out[20]: numpy.float32
    

    类型属性相当于数组元素对象的类型,dtype的属性str中保存的是一个表示数据类型的字符串。

    一维数组的切片与索引

    一维数组的切片操作与Python列表的切片一样。

    a = np.arange(9, dtype='i')
    a[3:7]
    Out[24]: array([3, 4, 5, 6], dtype=int32)
    a[::-1]
    Out[25]: array([8, 7, 6, 5, 4, 3, 2, 1, 0], dtype=int32)
    

    处理数组形状

    拆解

    b = np.arange(24).reshape(2,3,4)
    b
    Out[27]: 
    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]]])
    b.ravel()
    Out[28]: 
    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])
    
    • ravel()函数:将多维数组变成一维数组

    拉直

    b.flatten()
    Out[29]: 
    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])
    
    • flatten()函数:功能与ravel()相同,返回的是真实的数组,而ravel()函数返回的只是数组的视图。

    指定数组形状

    b.shape = (4,6)
    b
    Out[32]: 
    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]])
    
    • shape属性:除了reshape()函数外,可以直接用元组来定义数组的形状。

    转置

    b.transpose()
    Out[33]: 
    array([[ 0,  6, 12, 18],
           [ 1,  7, 13, 19],
           [ 2,  8, 14, 20],
           [ 3,  9, 15, 21],
           [ 4, 10, 16, 22],
           [ 5, 11, 17, 23]])
    
    • transpose()函数:将行变为列,列变为行。
      调整大小
    b.resize((2,12))
    b
    Out[35]: 
    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]])
    
    • resize()函数:作用和reshape()类似,但是它会改变所作用的数组,reshape()返回一个视图。

    堆叠数组

    数组既可以横向叠放还可以竖向叠放

    a = np.arange(9).reshape(3,3)
    b = 2 * a
    

    水平叠放

    a.shape
    Out[45]: (3, 3)
    b.shape
    Out[46]: (3, 3)
    np.hstack((a,b))
    Out[47]: 
    array([[ 0,  1,  2,  0,  2,  4],
           [ 3,  4,  5,  6,  8, 10],
           [ 6,  7,  8, 12, 14, 16]])
    
    • np.hstack()函数:水平叠加数组
      垂直叠加
    np.vstack((a,b))
    Out[48]: 
    array([[ 0,  1,  2],
           [ 3,  4,  5],
           [ 6,  7,  8],
           [ 0,  2,  4],
           [ 6,  8, 10],
           [12, 14, 16]])
    
    • np.vstack()函数:垂直叠加函数

    concatenate()函数

    np.concatenate((a,b), axis=1)   # 水平叠加
    np.concatenate((a,b), axis=0)   # 垂直叠加
    

    深度叠加

    np.dstack((a,b))
    Out[51]: 
    array([[[ 0,  0],
            [ 1,  2],
            [ 2,  4]],
           [[ 3,  6],
            [ 4,  8],
            [ 5, 10]],
           [[ 6, 12],
            [ 7, 14],
            [ 8, 16]]])
    
    • np.dstack()函数:深度叠加,沿着第三个坐标轴(纵向)的方法来叠加数组

    列式堆叠

    one = np.arange(2)
    two = one * 2
    np.column_stack((one, two))
    Out[54]: 
    array([[0, 0],
           [1, 2]])
    
    • np.column_stack()函数:以列的方式对一维数组进行堆叠,当该方法堆叠二维数组时,过程类似于hstack()函数。
      行式堆叠
    np.row_stack((one,two))
    Out[55]: 
    array([[0, 1],
           [0, 2]])
    
    • np.row_stack()函数:以行的当时对一维数组进行堆叠,当该方法堆叠二维数组时,过程类似于vstack()函数。

    拆分 Numpy 数组

    可以纵向、横向和深度方法来拆分数组,相关函数hsplit()vsplit()dsplit()split()函数。

    横向拆分

    Out[58]: 
    array([[0, 1, 2],
           [3, 4, 5],
           [6, 7, 8]])
    np.hsplit(a,3)
    Out[59]: 
    [array([[0],
            [3],
            [6]]), array([[1],
            [4],
            [7]]), array([[2],
            [5],
            [8]])]
    

    纵向拆分

    np.vsplit(a,3)
    Out[60]: [array([[0, 1, 2]]), array([[3, 4, 5]]), array([[6, 7, 8]])]
    

    np.splidt()函数

    • np.split(a, 3, axis=1)和横向拆分np.hsplit()相同
    • np.split(a, 3, axis=0)和纵向拆分np.vsplit()相同

    深度拆分

    dsplit():会沿着深度方向分解数组。

    Numpy 数组的属性

    属性描述
    a.shape数组每个维度的长度
    a.dtype数组存放的类型
    a.size保存元素的数量
    a.ndim维度的数量
    a.itemsize各个元素所占用的字节数
    a.nbytes存储整个数组占用的字节数量
    a.T矩阵的转置,和a.transpose()作用相同
    a.flat返回数组的所有元素,返回迭代器类型

    数组的转换

    转换成列表

    a
    Out[61]: 
    array([[0, 1, 2],
           [3, 4, 5],
           [6, 7, 8]])
    a.tolist()
    Out[62]: [[0, 1, 2], [3, 4, 5], [6, 7, 8]]
    

    创建数组的视图和拷贝

    a.copy()    # 创建一个副本
    a.view()    # 创建一个视图
    
    展开全文
  • NumPy数组是一个多维数组对象,称为ndarray。其由两部分组成: ·实际的数据 ·描述这些数据的元数据 大部分操作仅针对于元数据,而不改变底层实际的数据。 关于NumPy数组有几点必需了解的: ·NumPy数组的下标从0...
  • 一、numpy数组 均值,方差,标准差 import numpy as np arr = [1,2,3,4,5,6] #均值 arr_mean = np.mean(arr) #方差 arr_var = np.var(arr) #标准差 arr_std = np.std(arr,ddof=1) print("平均值为:%f" %...

     

    一、numpy数组 求均值,方差,标准差

    标准差是衡量观测值相对平均值的分散程度。较大的标准差,说明观测数组相对均值的波动比较大。
    如果观测值是总体,标准差根号内除以n; 如果是样本,标准差公式根号内除以n-1,因为我们大量接触的是样本所以基本都是除以n-1,除以的这个数字又叫做自由度。

    numpy.std(a, axis=None, dtype=None, out=None, ddof=0, keepdims=

    参数解释:
    a : array_like
    计算的数据   
    axis : None or int or tuple of ints, optional
    默认是计算平铺的数组,可以选择计算的方向
    dtype : dtype, optional
    调节计算的精度
    out : ndarray, optional
    输出选择
    ddof : int, optional
    控制自由度,自由度=N - ddof,N是数据的长度。当ddof=1时,就是样本标准差,当ddof=0时,是总体标准差
    keepdims : bool, optional

    注意

    在R语言中sd()函数返回的是样本标准差,既自由度是n-1

    import numpy as np 
    arr = [1,2,3,4,5,6]
    #求均值
    arr_mean = np.mean(arr)
    #求方差
    arr_var = np.var(arr)
    #求标准差
    arr_std = np.std(arr,ddof=1)
    print("平均值为:%f" % arr_mean)
    print("方差为:%f" % arr_var)
    print("标准差为:%f" % arr_std)

    样本标准差 和 总体标准差

    样本方差

    总体方差

    展开全文
  • NumPy 是一个 Python 包。 它代表 “Numeric Python”。它是一个由多维数组对象用于处理数组的例程集合组成的库。这篇文章主要介绍了python numpy 数组的索引切片,需要的朋友可以参考下
  • 在实际使用numpy时,我们常常会使用numpy数组的-1维度”:”用以调用numpy数组中的元素。也经常因为数组的维度而感到困惑。 总体来说,”:”用以表示当前维度的所有子模块 “-1”用以表示当前维度所有子模块最后一...
  • NumPy 数组使用大全

    2020-09-19 10:55:58
    主要介绍了NumPy 数组使用大全,在本教程中,你将学习如何在 NumPy 数组上以多种方式添加、删除、排序操作元素。文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面...
  • 34.35.热图(heatmap)、创建带注释的热图、使用辅助函数的代码样式、图像显示、图像插值、将图像数据导入Numpy数组、将numpy数组绘制为图像.pdf
  • Numpy数组

    千次阅读 2013-08-14 06:10:16
    NumPy数组是一个多维数组对象,称为ndarray。其由两部分组成: 实际的数据描述这些数据的元数据 大部分操作仅针对于元数据,而不改变底层实际的数据。 关于NumPy数组有几点必需了解的: NumPy数组的下标...
  • numpy数组中冒号负号的含义

    千次阅读 2018-03-15 11:18:37
    numpy数组中”:””-“的意义 觉得有用的话,欢迎一起讨论相互学习~Follow Me 在实际使用numpy时,我们常常会使用numpy数组的-1维度”:”用以调用numpy数组中的元素。也经常因为数组的维度而感到困惑。 ...
  • import numpy as np >>> arr1 = np.array([-10,-2,5,3,8]) >>> #并集 ... condition = (arr1>6)+(arr1<0) >>> print(arr1[condition]) [-10 -2 8] >>> condition = (arr...
  • 可以利用tolist函数将Numpy中的数组转换为Python中的列表,还可以用astype指定转换数组的数据类型。 from numpy import * #tolist astype a = array([1,2,3,4,5,6]) print(a) print(a.tolist()) #将numpy中的...
  • 20_NumPy数组ndarrayPython标准列表相互转换 NumPy数组ndarrayPython标准列表类型列表可以相互转换。 将列表类型列表转换为NumPy数组ndarray:numpy.array() 将NumPy数组ndarray转换为列表类型列表:tolist...
  • Numpy数组或按列归一化

    万次阅读 2018-09-19 21:27:30
    给定一个数组,将各列()归一化(缩放到 [0,1] ) 方法一 import numpy as np x = np.array([[1000, 10, 0.5], [ 765, 5, 0.35], [ 800, 7, 0.09]]) x_normed = x / x.max(axis=0) print(x_no...
  • numpy数组的分割元素的添加与删除

    万次阅读 2019-04-24 17:57:26
    Python数据分析:numpy数组的分割元素的添加与删除 数组的分割: 函数 描述 split 将一个数组分割为多个子数组 hsplit 将一个数组水平分割为多个子数组(按列) vsplit 将一个数组垂直分割为多个子...
  • Python遍历numpy数组

    万次阅读 2018-01-19 18:56:00
    本篇博客主要介绍如何遍历numpy数组。 下面是示例代码: import numpy as np num = np.zeros([2, 3]) [rows, cols] = num.shape print(rows, cols) for i in range(rows): for j in range(cols): print(num[i, ...
  • 在用python进行图像处理时,有时需要遍历numpy数组,下面是遍历数组的方法: [rows, cols] = num.shape for i in range(rows - 1): for j in range(cols-1): print(num[j, i]) 以上这篇Python遍历numpy数组的...
  • NumPy学习1之生成numpy数组

    千次阅读 2019-07-16 17:40:21
    1. numpy 数组 numpy研究的对象就是n维数组,在numpy中,这些数组都属于ndarray类型,意为n-dim数组。...利用python中的序列类型生成numpy数组 利用numpy中自带的数组生成方法生成numpy数组 涉及到的方法主要...
  • numpy数组最值索引

    2019-03-07 17:05:18
    python中获取numpy数组每列最大值的索引,输出其坐标。
  • 参考文献 1、Numpy数组array矩阵matrix相互转换 2、python中找出numpy array数组的最值及其索引
  • Python中numpy数组如何添加删除元素

    千次阅读 2020-12-29 14:09:55
    本篇文章从append、 insert、 delete三个函数出发,讲解在numpy数组中如何添加删除元素。 在 numpy中,经常需要对数组元素进行添加删除操作,如使用 append() 函数 insert() 函数为数组添加元素,或者使用 ...
  • 数组和矢量计算NumPy Basics: Arrays and Vectorized Computation4.1 Numpy ndarry:一种多维数组对象(The NumPy ndarray: A Multidimensional Array Object)4.1.1 创建ndarray(Creating ndarrays)4.1.2 ndarray...
  • 目录Numpy数组中数据的...有些时候我们还想要抽取查看Numpy数组中符合某些条件的值 还有的时候,我们想要统计数组中有多少值大于某一个给定的值,或则删除所有超过设定的阈值的异常点 因此,本章将讲解如下内容: 比较,

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 134,031
精华内容 53,612
关键字:

numpy数组求行和