01.NumPy

作者: Zzmi | 来源:发表于2019-04-09 17:51 被阅读0次

    NumPy

    主要针对Python在数据和数值计算中,运行速度过慢问题。NumPy官网

    • 关键字:开源—数据计算扩展
    • 功能:N维数组类型ndarray—多维操作—线性代数
    1、ndarray
    print(np.array)    # 用来创建一个numpy数组。
    print(np.shape)    # 显示np数组结构属性,形状 :n行n列
    print(np.ndim)    # 表示数组维度
    print(np.dtype)    # 表示数组元素类型(如:int8,in16,float64等)
    print(np.itemsize)    # 表示数组元素所占字节大小,如float64占字节8位
    print(np.size)    # 表示数组元素个数
    
    2、some kinds of array
    print(np.zeros([m, n]))    # 全0数组,两行四列
    print(np.ones([m, n]))    # 全1数组,三行五列
    print(np.random.rand(m, n))    # 均匀分布(0~1)随机数组
    print(np.random.rand())    # 一个(0~1)随机数
    print(np.random.randint(min, max, n))    # 在mix到max间生成n个随机数
    print(np.random.randn(m, n))    # 标准正态分布,返回m*n个值
    print(np.random.beta(min, max, n))    # 生成mix到max的n个数的beta分布
    # np.random中的各种分布(正态,卡房,二项等等)
    
    3、operation
    list =  (np.arange(1, 11))    # 产生一个1-11(不含11)的等差数列
    list =  (np.arange(1, 11)).reshape([2, 5])    # 变成两行五列数组
    print (np.exp(list))    # list 自然指数
    print (np.exp2(list))    # list 自然指数的平方
    print (np.sqrt(list))    # list 开方
    print (np.sin(list))    # list 三角函数
    print (np.log(list))    # list 对数
    
    lst.sum, lst.min, lst.min中axis:
        - axis=0, [纵轴],对最外层的每行进行操作
        - axis=1, [横轴],对倒数第二层的每行进行操作
    

    理解矩阵乘法

    print(np.concatenate((list1,list2), axis=0))    # 两个数组的追加一起,axis为0
    print(np.vstack((list1,list2)))    # 将两个数组分成两行组成一个数组 追加  分成两行 
    print(np.hstack((list1,list2)))    # 将两个数组相连,同concatenate的结果
    print(np.split(list1,2))    # 将数组切分成几个子数组
    print(np.copy(list1))    # 对数组进行拷贝
    

    lst**2 平方运算 dot() 点乘

    4、liner algebra
    from numpy.linalg import *
    print(np.eye(3))    # 生成一个3行3列的单位矩阵
    print(inv(lst))    # 逆矩阵
    print(lst.transpose())
    print(det(lst))    # 行列式值
    print(eig(lst))    # 特征向量及特征值
    print(solve(A, B))    # 求解AX=B
    
    5、others
    # fft快速傅里叶变换是数字信号处理(DSP)里的内容,属于通信范畴。相关系数属于线性代数内容
    np.fft.fft(np.array([1, 1, 1, 1]))    # 4点fft,Frouier变换,阶跃响应
    np.corrcoef(list1, list2)    # 皮尔逊相关系数计算
    np.poly1d(a, b, c)    # 一元线性方程ax+bx+c=0
    

    相关文章

      网友评论

          本文标题:01.NumPy

          本文链接:https://www.haomeiwen.com/subject/siriiqtx.html