matplotlib可视化实战之一:Numpy基础初识

Numpy库

1、安装与测试

windows中安装,直接进入cmd命令,运行 pip install numpy,安装完后输入 import numpy,如果没报错,说明安装成功,如下图
matplotlib可视化实战之一:Numpy基础初识_第1张图片
实际运行过程中,建议在引用numpy时候,输入如下代码

import numpy as np

将numpy 用 np代替,提高diamante可读性和便捷性

2、numpy的使用

(1)创建数组

在numpy库中创建数组可采用如下语句:

numpy.array

该语句表示通过引用numpy库创建了一个ndarray对象。
创建数组对象示例如下:

import numpy as np
a = np.array([1,2,3])
print(a)

上述语句引用了numpy库,然后定义了一个一维数组a,最后将数组输出显示,运行结果如下图

matplotlib可视化实战之一:Numpy基础初识_第2张图片

(2)numpy数组参数

在创建数组时,可以加入如下参数

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)

执行上述语句结果如下
matplotlib可视化实战之一:Numpy基础初识_第3张图片

显示多维数组的数据类型,代码如下

import numpy as np
a=np.array([[1,2,3],[4,5,6],[7,8,9]],dtype=complex)
print(a)

执行上述语句结果如下
matplotlib可视化实战之一:Numpy基础初识_第4张图片

示例中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位浮点数表示实部和虚部

(3)ndarray对象的基本属性

在创建了一个数组后,可以查看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)

上述语句定义了一个数组,显示其字节大小,执行上述语句结果如下
在这里插入图片描述

(4)ndarray对象的切片和索引

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时,会对它的一部分进行切片,运行结果如下图
在这里插入图片描述

(5)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]]

运行结果如下图
matplotlib可视化实战之一:Numpy基础初识_第5张图片

你可能感兴趣的:(大数据实战,#,数据可视化,python,numpy)