Python_数据分析_numpy模块

numpy可以说是Python运用于人工智能和科学计算的一个重要基础,关于库的引入不做赘述,主要分享一些总结的numpy库的用法。

1. numpy数组对象

Numpy中的多维数组称为ndarray,这是Numpy中最常见的数组对象。ndarray对象通常包含两个部分:

  • ndarray数据本身
  • 描述数据的元数据

Numpy数组的优势

  • Numpy数组通常是由相同种类的元素组成的,即数组中的数据项的类型一致。这样有一个好处,由于知道数组元素的类型相同,所以能快速确定存储数据所需空间的大小。
  • Numpy数组能够运用向量化运算来处理整个数组,速度较快;而Python的列表则通常需要借助循环语句遍历列表,运行效率相对来说要差。
  • Numpy使用了优化过的C API,运算速度较快

2 numpy数组(ndarray)的创建

2.1 array()

通过array方式创建,向array中传入一个list实现

    import numpy as np
    
    array1 = np.array([1, 2, 3])
    array2 = np.array([[1, 2, 3],
                       [4, 5, 6],
                       [7, 8, 9]])
    
    print(array1)
    print(array2)
    
    [Runing] ============
    [1 2 3]
    [[1 2 3]
     [4 5 6]
     [7 8 9]]
    
2.2 arange()

通过arange创建数组:下例中创建一个0~1间隔为0.1的行向量,从0开始,不包括1,第二个例子通过对齐广播方式生成一个多维的数组。

    import numpy as np
    
    array1 = np.arange(0, 1, 0.1)
    array2 = np.arange(1, 70, 10).reshape(-1, 1) + np.arange(0, 7)
    array3 = np.arange(24).reshape(2,3,4)
    
    print(array1)
    print(array2)
    print(arrat3)
    
    [Running]=======
    [0.  0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9]
    
    [[ 1  2  3  4  5  6  7]
     [11 12 13 14 15 16 17]
     [21 22 23 24 25 26 27]
     [31 32 33 34 35 36 37]
     [41 42 43 44 45 46 47]
     [51 52 53 54 55 56 57]
     [61 62 63 64 65 66 67]]
     
    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]]])
2.3 linspace()&logspace()

通过linspace函数创建数组:下例中创建一个0~1间隔为1/9的行向量(按等差数列形式生成),从0开始,包括1.
通过logspace函数创建数组:下例中创建一个1~100,有20个元素的行向量(按等比数列形式生成),其中0表示10 0=1,2表示10
2=100,从1开始,包括100

    import numpy as np
    
    array1 = np.linspace(0, 1, 10)
    array2 = np.logspace(0, 2, 20)
    
    print(array1)
    print(array2)
    
    [Running]===========
    [0.         0.11111111 0.22222222 0.33333333 0.44444444 0.55555556
     0.66666667 0.77777778 0.88888889 1.        ]
    [  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.        ]
2.4 生成特殊数列
  • ones、ones_like,根据形状创建一个全1的数组、后者可以复制其他数组的形状
  • zeros、zeros_like,类似上面,全0
  • empty、empty_like,创建新数组、只分配空间
  • eye、identity,创建对角线为1的对角矩阵
    注意要指定数组的规模(用一个元组指定),同时要指定元素的类型,否则会报错。这部分函数较简单,不进行测试
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值