欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Numpy库的学习(四)

程序员文章站 2022-07-05 15:27:09
我们今天继续学习一下Numpy库 接着前面几次讲的,Numpy中还有一些标准运算 exp表示求e的幂次方,比如上面看到的,e的0次方为1,e的2次方,2.7几,以此类推 我们可以看到,exp就是求e的多少次方 而sqrt则表示根号,也就是进行开方运算 我们可以得到,0的开方为0,1 的开方为1,2的 ......

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

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

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

Numpy库的学习(四)

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函数便可,我们看看得到的结果

Numpy库的学习(四)

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

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)))

Numpy库的学习(四)

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

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

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

Numpy库的学习(四)

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

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库的学习(四)

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

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