numpy生成数组

  • Post author:
  • Post category:其他


numpy 是重要的科学计算工具

通过numpy我们可以生成模拟数据,比如随机生成一个数,随机生成一个服从正态分布的随机数

1.1 创建数组

在进行数学运算之前我们首先要创建数组。Numpy中创建数组的方式主要有两种:

(1) 创建元素为0或1的数组。

(2) 将已有的数据转换为数组,比如将列表转换为数组。

1.1.1 创建数组

a、使用empty生成随机数

在empty参数中传入shape参数来指定生成数组的形状

import numpy as np
a=np.empty(shape=(3,3)) #创建一个3行3列的数组

b、eye方法创建一个对角线元素全为1的数组

我们可以传入参数3来生成一个三行三列,对角线元素全部为1,其他元素全部为0的数组。

b=np.eye(3)

c、 identity 方法创建单位矩阵

感觉和eye差不多,但是只能创建单位矩阵

np.identity(3)

np.identity(n, dtype=None)

np.eye(N, M=None, k=0, dtype=<type ‘float’>);

np.identity只能创建方形矩阵

np.eye可以创建矩形矩阵,且k值可以调节,为1的对角线的位置偏离度,0居中,1向上偏离1,2偏离2,以此类推,-1向下偏离。值绝对值过大就偏离出去了,整个矩阵就全是0了。

c、ones生成全部为1的数组

c=np.ones(shape=(2,4))#2行4列

d、zeros生成全部为0的数组

d=np.zeros(shape=(2,4))

e、full方法生成指定数字的数组

e=np.full(shape=(3,3),fill_value=2)

1.1.2 将列表转换为数组

a=np.array([1,2,3])#生成数组

1.1.3 生成一串数字

这边生成的形式为列表,我们需要进行转化才能生成数组

a、arrange生成一个序列

类似于range函数

np.arrange(start=1,stop=10,step=2)#起始值为1,终止值为10,步长为2.

b、linespace在固定范围内生成指定数量的数

np.linspace(start=1,stop=10,num=5)#起始为1,终止为10,总共5个数

c、logspace 用log为尺度

np.logspace(start=1,stop=10,num=5)#

1.1.4 生成特殊数组

a、生成对角矩阵

传入生成数组的对角线元素,其他位置的元素全部为0。

np.diag([1,2,3,4])#生成对角矩阵

b、提取对角矩阵

将数组作为参数传入,diag的方法就是提取数组的对角线元素。

np.diag([[1,2,3],
[4,5,6],
[7,8,9]])

c、生成三角矩阵 tri

np.tri(3,5)

d、tril根据已知矩阵生成一个三角矩阵

第一个参数是数组,第二个参数是下三角矩阵的相对位置,-1表示向下移动一个不长

e、triu 升位三角矩阵



版权声明:本文为hmysn原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。