32转8 Python 数组 python数组转数字

您所在的位置:网站首页 js二维数组的转置 32转8 Python 数组 python数组转数字

32转8 Python 数组 python数组转数字

2023-06-25 19:22| 来源: 网络整理| 查看: 265

转换数据类型

numpy的array函数生成的数据默认是int型,可以使用astype对数据类型进行转换,代码如下所示:

import numpy as np a = np.array([2,3,4]) print(a,a.dtype) print('------') b = a.astype(np.complex)#转换数据类型为complex print(b.dtype,a.dtype)

运行结果如图,可以看出将原来数据类型为int的数据转换成了complex型

32转8 Python 数组 python数组转数字_python

改变矩阵形状

直接修改数组ndarray的shape值,要求修改后乘积不变;直接使用reshape函数创建一个改变尺寸的新数组,原数组的shape保持不变,但是新数组和原数组共享一个内存空间,当指定某一个轴为-1的时候,表示将根据数组元素的size自动计算该轴的长度值 改变矩阵原本的形状,生成指定形状的矩阵可以使用shape函数,若要改变数据矩阵的维数则使用reshape函数,比如将三维的改为二维的,代码如下所示:

d = np.random.random((2,3,5)) print(d,d.shape) d.shape = (3,2,5) print(d,d.shape) print('------') e = d.reshape(3,10)#当知道矩阵形状的行或者列时,另一个参数可以用-1代替,就是让程序自己计算 #e = d.reshape(3,-1) print(e,e.shape,d.shape)

32转8 Python 数组 python数组转数字_32转8 Python 数组_02

数组的运算数组之间的运算a1 = [2,3,5] b1 = ['222','dfy',88] print(a1+b1) a = np.array([2,3,5]) b = np.array([4,5,2]) print(a+b) print(a**2) c = np.array([[1,2,3],[4,5,6]]) d = np.array([[2,3,4],[7,8,9]]) print(c+d)

当两个数组中的数据类型不同时,两个数组相加是将两个数组中的元素都连接到一起,当两个数组中的数据都是数字,则对应着矩阵位置相加,上面代码的结果如图:

32转8 Python 数组 python数组转数字_转置_03

矩阵之间的点积运算使用dot函数来实现:

= np.array([[1,2,3],[4,5,6]]) d = np.array([[2,3,4],[7,8,9]]) print(c+d) d.shape = (3,2) print(c) print(d) print('------') print(np.dot(c,d)) print('``````') print(c.dot(d))#计算结果与np.dot(c,d)相同

得出的运算结果是:

32转8 Python 数组 python数组转数字_python_04

转置

数组转置是指将shape进行重置操作,并将其值重置为原始shape元祖的倒置,对于二维数组矩阵而言,数组的转置就是矩阵的转置,可以通过调用数组的transpose函数或T属性进行数组转置操作,实例代码如下:

import numpy as np #转置 a = np.arange(24).reshape((2,3,4)) print(a) b = a.T c = np.transpose(a)#np.transpose跟a.T得到的结果是相同的 print(b,b.shape) print(c,c.shape)

运行结果如下:

32转8 Python 数组 python数组转数字_numpy_05

代码中a的shape原本是(2,3,4),经过转置后变为(4,3,2)



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3