NumPy科学计算库
提供了多维数组、矩阵的常用操作和一些高效的科学计算函数。
底层运算通过C语言实现,处理速度快、效率高,适用于大规模多维数组。
可以直接完成数组和矩阵运算,无需循环。
导入NumPy库
import numpy as np //在调用Numpy中的函数时,一定要加上前缀np
from numpy import* //在调用Numpy中的函数时,可以不加前缀
创建数组
array([列表]/(元组))
数组的属性
NumPy要求数组中所有元素的数据类型必须是一致的
int8、uint8、int16、uint16、int32、uint32、int64、uint64
float16、float32、float64、float128
complex64、complex128、complex256
bool、object、string_、unicode_
可以在创建数组时指定数据类型
array([列表]/(元组), dtype=数据类型)
创建特殊的数组
数组运算
改变数组的形状
当改变形状时,应该考虑到数组中元素的个数,确保改变前后,元素总个数相等。
//创建数组并且改变数组形状
b=np.arange(12).reshape(3,4)
数组间的运算
相加的2个数组的形状和长度应该一致,否则就会出现错误
一维数组可以和多维数组相加,相加时会将一维数组扩展至多维。
数组之间的减法、乘法、除法运算,和加法运算规则相同。
当两个数组中元素的数据类型不同时,精度低的数据类型,会自动转换为精度更高的数据类型,然后再进行运算。
矩阵运算——矩阵乘法
数组元素间的运算
轴(axes):数组中的每一个维度被称为一个轴
秩(rank):轴的个数
矩阵和随机数
矩阵——numpy.matrix
matrix ( 字符串/列表/元组/数组 )
mat ( 字符串/列表/元组/数组 )
随机数模块——numpy.random
伪随机数:由随机种子,根据一定的算法生成的
随机种子: 指定随机数生成时所用算法开始的整数值。
- 如果使用相同的seed( )值,则每次生成的随即数都相同。
- 如果不设置这个值,则系统根据时间来自己选择这个值,此时每次生成的随机数因时间差异而不同。
- 设置的seed()值仅一次有效。
- 随机数产生的算法,和系统有关。
shuffle()——打乱顺序函数 np.random.shuffle(序列)
Matplotlib数据可视化
Figure 创建画布
figure(num,figsize,dpi,facecolor,edgecolor,frameon)
- num:图形编号或名称,取值为数字/字符串。
- figsize:绘图对象的宽和高,单位为英寸。
- dpi:绘图对象的分辨率,缺省值为80。
- facecolor:背景颜色。
- edgecolor:边框颜色。
- frameon:表示是否显示边框。
import matplotlib.pyplot as plt
plt.figure(figsize=(3,2),facecolor="green") #创建画布
plt.plot() #绘制空白图形
plt.show() #显示绘图
subplot 划分子图
subplot( 行数, 列数, 子图序号 )
import matplotlib.pyplot as plt
fig = plt.figure()
plt.subplot(441)
plt.subplot(442)
plt.subplot(443)
plt.subplot(444)
plt.subplot(445)
plt.show()
全局标题 suptitle (标题文字)
子标题 title (标题文字)
其他各种图的应用官网例子和解释都特别好。直接上连接
https://matplotlib.org/index.html
matplotlib官网