• Numpy学习记录


    一、什么是NumPy

    • NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库;
    • NumPy 是一个运行速度非常快的数学库,主要用于数组计算,包含:
      • 一个强大的N维数组对象 ndarray
      • 广播功能函数
      • 线性代数、傅里叶变换、随机数生成等功能

    二、NumPy Ndarray对象

    • NumPy 最重要的一个特点是其 N 维数组对象 ndarray,它是一系列同类型数据的集合
    • 0 下标为开始进行集合中元素的索引
    • 创建一个 ndarray 只需调用 NumPy 的 array 函数即可 
    1 import numpy as np 
    2 a = np.array([1,2,3])  
    3 b = np.array([[1,  2],  [3,  4]])

    三、NumPy数据类型

    四、NumPy 数组属性

    • NumPy 数组的维数称为秩,即数组的维度,一维数组的秩为 1,二维数组的秩为 2,以此类推;
    • 在 NumPy中,每一个线性的数组称为是一个轴(axis),轴的数量--秩,就是数组的维数;
    • 我们可以声明axis:axis=0,表示沿着第 0 轴进行操作,即对每一列进行操作;axis=1,表示沿着第1轴进行操作,即对每一行进行操作
    • ndarray.shape 表示数组的维度,返回一个元组
    1 import numpy as np  
    2 a = np.array([[1,2,3],[4,5,6]])  
    3 print (a.shape)
    • ndarray.shape 也可以用于调整数组大小
    1 import numpy as np 
    2 a = np.array([[1,2,3],[4,5,6]]) 
    3 a.shape =  (3,2)  
    4 print (a)
    • NumPy 也提供了 reshape 函数来调整数组大小
    1 import numpy as np 
    2 a = np.array([[1,2,3],[4,5,6]]) 
    3 b = a.reshape(3,2)  
    4 print (b)

    五、NumPy 创建数组

    1、特殊数组的创建

    • numpy.empty:用于创建指定形状、数据类型且未初始化的数组

    【说明】由于未对数据进行初始化操作,因此数组使用该方法创建出的数组元素为随机值

    1 import numpy as np 
    2 x = np.empty([3,2], dtype = int)
    • numpy.zeros:用于创建指定形状的数组,且数组中的元素使用0来填充

    import numpy as np
    
    # 默认为浮点数
    x = np.zeros(5) 
    print(x)
     
    # 设置类型为整数
    y = np.zeros((5,), dtype = np.int) 
    print(y)
    • numpy.ones:用于创建指定形状的数组,且数组中的元素使用1来填充

    1 import numpy as np
    2  
    3 # 默认为浮点数
    4 x = np.ones(5) 
    5 print(x)
    6  
    7 # 自定义类型
    8 x = np.ones([2,2], dtype = int)
    9 print(x)

    2、从已有的数组中创建数组--numpy.asarray

    • 将列表转换为 ndarray
    1 import numpy as np 
    2  
    3 x =  [1,2,3] 
    4 a = np.asarray(x)  
    5 print (a)

    输出结果:[1 2 3]
    • 将元组转换为 ndarray
    1 import numpy as np 
    2  
    3 x =  (1,2,3) 
    4 a = np.asarray(x)  
    5 print (a)

    输出结果:[1 2 3]
    • 将元组列表转换为 ndarray
    1 import numpy as np 
    2  
    3 x =  [(1,2,3),(4,5)] 
    4 a = np.asarray(x)  
    5 print (a)

    输出结果:[(1,2,3) (4,5)]
    • 设置了 dtype 参数
    1 import numpy as np 
    2  
    3 x =  [1,2,3] 
    4 a = np.asarray(x, dtype =  float)  
    5 print (a)

    3、从数组范围创建数组

    • numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)

    参数描述
    start 序列的起始值
    stop 序列的终止值,如果endpointtrue,该值包含于数列中
    num 要生成的等步长的样本数量,默认为50
    endpoint 该值为 true 时,数列中包含stop值,反之不包含,默认是True。
    retstep 如果为 True 时,生成的数组中会显示间距,反之不显示。
    dtype ndarray 的数据类型
    • numpy.arange(start, stop, step, dtype)

    1 import numpy as np
    2  
    3 x = np.arange(5)  
    4 print (x)
    1 import numpy as np
    2 a = np.linspace(1,10,10)
    3 print(a)
  • 相关阅读:
    对象存储、块存储、文件系统存储概念与区别
    一款线程安全、基本功能齐全的STL
    Libevent源码分析—event_base_dispatch()
    Libevent源码分析—event_add()
    Libevent源码分析—从使用Libevent库开始
    Libevent源码分析—event_set()
    Libevent源码分析—event_init()
    利用Elasticsearch搭建全球域名解析记录
    Mysql Order By注入总结
    解决在ubuntu下requests 无法找到模块packages
  • 原文地址:https://www.cnblogs.com/yif930916/p/14234289.html
Copyright © 2020-2023  润新知