np.zeros(shape=(3,4)) #代表创建的是三行四列的矩阵并且其数据类型为float64返回的结果为:
array([[ 0., 0., 0., 0.], [ 0., 0., 0., 0.], [ 0., 0., 0., 0.]])与np.zeros方法相似的还有np.ones方法 , 顾名思义 , np.ones方法创建的矩阵的数值都为1 。 我们来举个例子:
np.ones((3,4))返回的结果如下:
array([[ 1., 1., 1., 1.], [ 1., 1., 1., 1.], [ 1., 1., 1., 1.]])读者可能会比较好奇 , 既然我们可以创建数值全为0的矩阵 , 也可以创建数值全为1的矩阵 , 那么Numpy是否提供了一个方法可以让我们自己指定值呢?答案是肯定的 , 这个方法就是np.full方法 , 我们来看一个例子 , 代码如下:
np.full((3,5),121) #这个方法的意思是我们创建了一个三行五列的矩阵 , 默认值为121返回的结果是:
array([[121, 121, 121, 121, 121], [121, 121, 121, 121, 121], [121, 121, 121, 121, 121]])我们也可以使用np.arange方法来创建Numpy的矩阵 。 示例代码如下:
np.arange(0,20,2) #arange接收三个参数 , 与Python中的range方法相似 , arange也是前闭后开的方法 , 第一个参数为向量的第一个值0 , 第二个参数为最后一个值20 , 因为是后开所以取的是18 , 第三个参数为步长 , 默认为1 , 本例中设置为2 , 所以最后一个值是18 。 返回的结果是:
array([ 0, 2, 4, 6, 8, 10, 12, 14, 16, 18])我们可以使用np.linspace方法(前闭后闭)来对Numpy矩阵进行等分 , 比如将0~10等分为5份的代码如下:
np.linspace(0,10,5)返回的结果是:
array([ 0. , 2.5, 5. , 7.5, 10. ])下面通过几个例子再来看看在Numpy矩阵中如何生成随机数矩阵 。
1)生成一个长度为10的向量 , 里面每一个数值都是介于0~10之间的整数 , 代码如下:
import numpy as npnp.random.randint(0,10,10)2)如果不确定每个参数代表的意思 , 则加上参数名size , 代码如下:
np.random.randint(0,5,size=5) #注意是前闭后开 , 永远取不到53)我们也可以生成一个三行五列的整数矩阵 , 代码如下
np.random.randint(4,9,size=(3,5))4)seed的作用:如果不希望每次生成的随机数都不固定 , 那么我们可以使用np.random.seed(1) , 随机种子使用数字1记录 , 这以后只要是用随机种子1生成的随机数就都是固定的 。
5)我们也可以生成介于0~1之间的浮点数的向量或者矩阵 , 代码如下:
np.random.random(10) #生成0~1之间的浮点数 , 向量的长度为10np.random.random((2,4)) #生成0~1之间的浮点数 , 二行四列的矩阵6)np.random.normal()表示的是一个正态分布 , normal在这里是正态的意思 。 numpy.random.normal(loc=0,scale=1,size=shape)的意义如下:
首先 , 我们通过Numpy中的一个方法arange(n) , 生成0到n-1的数组 。 比如 , 我们输入
np.arange(15)可以看到返回的结果是
array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14])然后 , 再通过Numpy中的reshape(row,column)方法 , 自动构架一个多行多列的array对象 。
比如 , 我们输入:
a = np.arange(15).reshape(3,5) #代表3行5列可以看到结果:
array([[ 0, 1, 2, 3, 4], [ 5, 6, 7, 8, 9], [10, 11, 12, 13, 14]])有了基本数据之后 , 我们就可以通过Numpy提供的shape属性获取Numpy数组的行数与列数 , 示例代码如下:
print(a.shape)可以看到返回的结果是一个元组(tuple) , 第一个3代表的是3行 , 第二个5代表的是5列:
(3, 5)我们可以通过.ndim来获取Numpy数组的维度 , 示例代码如下:
importnumpy as npx = np.arange(15)print(x.ndim) #输出x向量的维度 , 这时能看到的维度是1维X = x.reshape(3,5) #将x向量转为三行五列的二维矩阵Print(X.ndim) #输出X矩阵的维度 , 这时能看到的维度是2维reshape方法的特别用法如果只关心需要多少行或者多少列 , 其他由计算机自己来算 , 那么这个时候我们可以使用如下方法:x.reshape(15,-1) #我关心的是我只要15行 , 列由计算机自己来算x.reshape(-1,15) #我关心的是我只要15列 , 行由计算机自己来算
- c语言用什么软件编辑,查找c语言答案的软件
- c语言比较三个数大小输出最小数,三个数比大小c语言输出最大值
- c语言强制类型转换详解,c语言类型转换注意点
- 瑞士说什么语言
- 河北省高考8624名考生成绩为0分,其中文科6475名,理科2149。你怎么看?
- 感谢教师节感恩老师的语言
- 汉语言文学专业就业方向 毕业后做什么工作
- 千万别学汉语言文学专业为什么 就业前景怎么样
- 最能打动人心的情话 爱情语言经典表白短句
- 南非官方语言介绍
特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
