• Numpy库的学习(四)


    我们今天继续学习一下Numpy库

    接着前面几次讲的,Numpy中还有一些标准运算

    a = np.arange(3)
    print(a)
    print(np.exp(a))
    print(np.sqrt(a))

    exp表示求e的幂次方,比如上面看到的,e的0次方为1,e的2次方,2.7几,以此类推

    我们可以看到,exp就是求e的多少次方

    而sqrt则表示根号,也就是进行开方运算

    我们可以得到,0的开方为0,1 的开方为1,2的开方为1.4

    看下面的代码:

    a = np.floor(10*np.random.random((3,4)))
    print(a)
    print("********")
    print(a.ravel())
    print("********")
    a.shape = (6,2)
    print(a)
    print("********")
    print(a.T)

    我们这里随机创建一个3*4的矩阵,都是float类型的

    我们可以对数据向下取整,那么需要使用np.floor函数

    我们之前说过,可以用shape,函数将一个向量变换成矩阵

    ravel,则是将一个矩阵变换成一个向量形式

    变换成向量以后,我又想变换回矩阵

    我们直接使用a的shape属性即可变换

    如果我们需要将矩阵进行矩阵转置T函数便可,我们看看得到的结果

    那么,如果我们想要将矩阵进行拼接,应该如何做到呢?

    a = np.floor(10*np.random.random((2,2)))
    b = np.floor(10*np.random.random((2,2)))
    print(a)
    print("*******")
    print(b)
    print("*******")
    print(np.vstack((a,b)))

    使用vstack函数,将另个矩阵传入进去,即可将两个矩阵按照行的方式进行拼接

    上面这个方式是对行进行的拼接

    如果我们不想按照行的方式进行拼接,使用列的方式进行,那么需要使用hstack函数

    可以看到,成功将列进行了拼接

    a = np.floor(10*np.random.random((2,12)))
    print(a)
    print("*******")
    print(np.hsplit(a,3))
    print("*******")
    print(np.hsplit(a,(3,4)))
    a = np.floor(10*np.random.random((12,2)))
    print("********")
    print(a)
    np.vsplit(a,3)

    我们在讲讲如何进行拆分

    如上述代码所示,hsplit(a,3)表示,我们要讲a这个矩阵进行拆分

    按照平均的切分成3份,这种切分方式是按照列进行切分

    那么如果我们不想进行平均切分

    hsplit(a,(3,4)),那么这种方式就是在第3列的切一刀,第4列切一刀

    上面讲到的都是按照列进行切分,如何按照行进行切分

    vsplit(a,3),则是按照行进行切分,我们来看看结果如下

     今天的学习,先到这里,明天我们继续学习Numpy库

    感觉各位阅读,欢迎点赞转发,感谢各位支持!!谢谢!!

  • 相关阅读:
    众包中使用变分推断和信念传播的几篇文章
    众包中的概率图模型和 EM 算法的使用和总结
    矩阵求导
    CCDM2018会议见闻
    关于 PCA 算法的一点小结
    Nginx--安装
    Nginx--简介
    linux--系统启动过程
    linux--目录结构
    Linux 远程连接工具Xshell6
  • 原文地址:https://www.cnblogs.com/ws17345067708/p/10708420.html
Copyright © 2020-2023  润新知