windows中安装,直接进入cmd命令,运行 pip install numpy,安装完后输入 import numpy,如果没报错,说明安装成功,如下图
实际运行过程中,建议在引用numpy时候,输入如下代码
import numpy as np
将numpy 用 np代替,提高diamante可读性和便捷性
在numpy库中创建数组可采用如下语句:
numpy.array
该语句表示通过引用numpy库创建了一个ndarray对象。
创建数组对象示例如下:
import numpy as np
a = np.array([1,2,3])
print(a)
上述语句引用了numpy库,然后定义了一个一维数组a,最后将数组输出显示,运行结果如下图
在创建数组时,可以加入如下参数
numpy.array(object,dtype=None,copy=True,order=None,subok=False,ndmin=0)
参数的含义如下表
参数名称 | 参数含义 |
---|---|
object | 返回一个数组或序列 |
dtype | 数组的数据类型 |
copy | 对象是否被复制 |
order | 按行或者按列 |
subok | 返回的数组被强制为基类数组 |
ndmin | 指定返回数组的最小维数 |
创建一个多维数组,语句如下
import numpy as np
a=np.array([[1,2,3],[4,5,6],[7,8,9]])
print(a)
显示多维数组的数据类型,代码如下
import numpy as np
a=np.array([[1,2,3],[4,5,6],[7,8,9]],dtype=complex)
print(a)
示例中complex类型由实部和虚部组成,下表展示了常见的数据类型
数据类型 | 含 义 |
---|---|
bool | 布尔 |
int | 默认整数 |
int8 | 有符号的8位整数 |
int16 | 有符号的16位整数 |
int32 | 有符号的32位整数 |
int64 | 有符号的64位整数 |
unit8 | 无符号的8位整数 |
unit16 | 无符号的16位整数 |
unit32 | 无符号的32位整数 |
unit64 | 无符号的64位整数 |
float16 | 半精度浮点数 |
float32 | 单精度浮点数 |
float64 | 双精度浮点数 |
string | 字符串 |
complex64 | 复数,两个32位浮点数表示实部和虚部 |
complex128 | 复数,两个64位浮点数表示实部和虚部 |
在创建了一个数组后,可以查看ndarray对象的基本属性,如下表
属性名称 | 属 性 值 |
---|---|
shape | 数组中各维度尺度 |
reshape | 调整数组大小 |
size | 数组元素的总个数 |
data | 数组元素在内存中占用字节数 |
itemsize | 每个元素的字节大小 |
nbetys | 整个数组所占的存储空间 |
flages | 返回数组当前值 |
显示多维数组维度,代码如下
import numpy as np
a=np.array([[1,2,3],[4,5,6],[7,8,9]])
print(a.shape)
显示数组每个元素的字节大小,代码如下
import numpy as np
a=np.array([1,2,3,4,5,6,7,8,9],dtype=np.int8)
print(a.itemsize)
上述语句定义了一个数组,显示其字节大小,执行上述语句结果如下
ndarray对象的内容可以通过索引或切片访问和修改,ndarray对象一般由arange()函数创建,代码如下
a=np.arrange()
如果仅仅提取数组对象的一部分,可通过slice函数构造,代码如下
s=slice()
对象切片代码如下
import numpy as np
a=np.arange(10)
s=slice(1,8,2)
print(a[s])
上述语句定义了一个数组,然后分别用起始、终止和步长切片对象,当这个切片对象传递给ndarray时,会对它的一部分进行切片,运行结果如下图
numpy包括numpy.linalg模块,提供线性代数所需要的功能,一些常用模块如下表
模块名称 | 模块功能 |
---|---|
dot | 计算两个数组的点积 |
vdot | 计算两个向量的点积 |
inner | 计算两个数组的内积 |
determinant | 计算两个数组的矩阵积 |
solve | 计算数组的行列式 |
solve | 计算线性矩阵方程 |
inv | 计算矩阵的乘法拟矩阵 |
函数名称 | 函 数 作 用 |
---|---|
sin(x[,out]) | 正弦值 |
cos(x[,out]) | 余弦值 |
tan(x[,out]) | 正切值 |
arcsin(x[,out]) | 反正弦 |
arccos(x[,out]) | 反余弦 |
arctan(x[,out]) | 反正切 |
计算两个数组的点积,对于一维数组,是向量的内积,对于二维数组,等于矩阵乘法,代码如下
import numpy.matlib
import numpy as np
a=np.array([[1,2],[3,4]])
b=np.array([[10,20],[30,40]])
np.dot(a,b)
print(np.dot(a,b))
matlib表示numpy中的矩阵库,上述语句定义了两个数组a和b,计算这两个数组的点积,点积计算公式如下
[[1*10+2*30,1*20+2*40],[3*10+4*30,3*20+4*40]]