Python数据分析-Numpy

Numpy特点

——如果有想关注Java开发相关的内容,可以转Java修炼之道
详细观看——

Numpy作为使用Python进行科学计算的常用库,有着如下特点:

  • 提供了N维数组(矩阵),快速高效,矢量数学运算;
  • 高效的Index,不需要循环,因为底层实现采用了C语言开发。
常见的数组和矩阵的方法
数组和矩阵的创建与维度信息
  • numpy.array()

    ## 数组的创建
    vector = numpy.array([1,2,3,4])
    
    ## 矩阵的创建
    matrix = numpy.array([
        [1,2,3],
        [4,5,6],
        [7,8,9]
    ])
    
  • shape

    ## 打印数组的维度信息
    vector.shape() ——》(4,) # 数组中存在4个元素
    
    ## 打印矩阵的维度信息
    matrix.shape()——》(3,3) #三行三列
    
  • reshape

    eg:
    a = np.arange(15).reshape(3, 5) #随机创建3行5列的矩阵
    Out:
       [[ 0  1  2  3  4]
       [ 5  6  7  8  9]
       [10 11 12 13 14]]
    a.ndim # 返回其维数 即 2
    

    注意:

    • reshape可以创建一个改变了尺寸的新数组,但是原始数组的shape是不会发生变化的。

    • reshape(-1):数组新的shape属性应该要与原来的配套,如果等于-1的话,那么Numpy会根据剩下的维度计算出数组的另外一个shape属性值。

      eg:
      z = np.array([[1, 2, 3, 4],
                [5, 6, 7, 8],
                [9, 10, 11, 12],
                [13, 14, 15, 16]])
      z.shape
        Out:(4, 4)
      z.reshape(-1)
        Out:array([ 1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16])
      
    • reshape(-1,1):在不知道有多少行的情况下,转变成一列数据

      eg:
      z.reshape(-1,1)
      Out:array([[ 1],
              [ 2],
              [ 3],
              [ 4],
              [ 5],
              [ 6],
              [ 7],
              [ 8],
              [ 9],
              [10],
              [11],
              [12],
              [13],
              [14],
              [15],
              [16]])
      
      
    • reshape(-1,2):在不知道有多少行的情况下,转变成2列数据

      eg:
      z.reshape(-1, 2)
      Out:array([[ 1,  2],
              [ 3,  4],
              [ 5,  6],
              [ 7,  8],
              [ 9, 10],
              [11, 12],
              [13, 14],
              [15, 16]])
      
  • linspace

    • 一般情况下,先创建python序列,通过array函数转换城数组,这样的效率不高,但是可以直接通过arange函数,指定开始值、终值和步长来创建一维数组(数组不包括终止值)。

    • linspace函数通过指定开始值、终值和元素的个数来创建一维数组。但是可以通过endpoint关键字来指定是否包括终值,缺省值默认为包括终止值。

      eg:
      np.linspace(0, 1, 10) # 步长为1/9
      Out:——》array([ 0. , 0.11111111, 0.22222222, 0.33333333, 0.44444444,0.55555556, 0.66666667, 0.77777778, 0.88888889, 1. ])
      
      
      
  • logspace

    logspace函数和linspace类似,不过它创建等比数列

    eg:
    np.logspace(0, 2, 20) # 产生1(10^0)到100(10^2)、有20个元素的等比数列
    
    array([ 1. ,    1.27427499,   1.62377674,    2.06913808,
    2.6366509 ,   3.35981829,   4.2813324 ,    5.45559478,
    6.95192796,  8.8586679 ,    11.28837892, 14.38449888,
    18.32980711, 23.35721469, 29.76351442, 37.92690191,
    48.32930239, 61.58482111, 78.47599704, 100. ])
    
  • **zeros()、ones()、empty()**可以创建指定形状和类型的数组

    zeros_like()、ones_like()、empty_l

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值