您的位置:首页 > 编程语言 > Python开发

【Python学习笔记 】10.Numpy科学计算库(下)

2018-04-02 20:35 483 查看
4.Numpy常用函数。
    (1) reshape(a,b)

    reshape函数可以对数据进行整体变换变成a行b列。

    import numpy as np 的意思的引用numpy取别名为np来代替numpy,比较简洁。

    


    其中  ndarray.ndim

    返回维度。

    (2).np.zeros((a,b))

        初始化一个a行b列,元素全是0的矩阵。(注意里面两个括号)。若要指定数据类型。no.zeros((a,b).dtype=np.xxx)

        




        np.ones(a.b)

        初始化一个a行b列,元素全是1的矩阵。

        


    (3). .arange(a,b,c)

    构造出一组数,从a开始,到b(不包括b)结束,中间间隔c。

    若arange(a),括号里面只有一个数,则表示构造从0到a(不包括a),

    


    (4).np.linspace(a,b,c)
    构造出c个数,从a开始,b结束(包括b),每个数间隔相同。
    


    (5).np.random.random(a,b)
    生成一组随机的在-1和+1内的数,放进a行b列的矩阵。

    


    

    (6).矩阵的加减

    在对应位置进行加减,两个矩阵大小应该一致。

    


    (7). 乘法

    numpy矩阵*乘是算内积。

    a.dot(b)或者np.dot(a,b)是矩阵的乘法,一个行乘一个列,

    


   
5.矩阵常用操作
    (1).矩阵变向量 或矩阵改变行数列数
    




    解释:

        np.floor()操作是向下取整。

        a.ravel()是将矩阵拉成向量。

        a.shape=(a,b)讲向量组合成一个a行b列的组合。当其中一个元素是负一时,这个-1自动变成符合的数字。

        a. T  矩阵转置。

    (2)矩阵的拼接

        np.hstack(a,b)横着拼a,b矩阵数据。

        np.vstack(a,b)竖着拼a,b矩阵数据。

        


    (3).矩阵的分割

    np.hsplit(a,x)  横着分割矩阵,平均分成x份。

    np.vsplit(a,x)竖着分割矩阵,平均分成x份。

    


     np.hsplit(a,(x1,x2,x3.....)) 横着分割矩阵a,在x1位置分一次,x2位置分一次,.........

     np.vsplit(a,(x1,x2,x3.....)) 竖着分割矩阵a,在x1位置分一次,x2位置分一次,.........

    


6.不同复制操作对比。
    有三种复制的方法。

    (1)b=a  对b作变换的时候,a也会变。a和b变量只是名字不同,但是指向的东西是一个东西。

    


    (2).c=a.view()  浅拷贝。a,c指向的是不同的东西,但是不同的东西里面共用了一堆值。所以改变c的值,a的值也会变。

    


    (3)d=a.copy()。深复制,它们值的东西不一样,而且里面的值也不一样,复制之后便互相没有影响了。

    


7.排序和索引
    (1) .argmax(axis=0) 

         返回每一列数值最大的数的索引值。通过索引值,可以找最大的数。

          .argmax(axis=1)

        返回每一行数值最大的数的索引值。通过索引值,可以找最大的数。

        


        补充:data.shape[0]返回的是行的长度

                 data.shape[1]返回的是列的长度

    (2).  np.tile(a,(x1,x2))

        将矩阵a作扩展,行变成x1倍,列变成x2倍。    

        


    (3)  sort

        np.sort(a,axis=1)  或者 a.sort(axis=1) 对矩阵a按行进行排序

        np.sort(a,axis=0)  或者 a.sort(axis=0) 对矩阵a按列进行排序
        


        np.argsort(a)   对索引值进行从小到大排序

        
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: