我们今天继续学习一下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库
感觉各位阅读,欢迎点赞转发,感谢各位支持!!谢谢!!
0