Numpy库的学习(四)

2023-01-31 00:01:46 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库

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

 

相关文章