Python数学实验与建模内容的简单整理

本章依次介绍Python数值计算的基础库NumPy、文件操作、数据处理的工 具库Pandas、主要可视化工具库Matplotlib和scipy.stats统计模块.

Numpy

创建数组

array函数
arange,empty,linspace
使用虚数单位“j”生成数组.
image.png

索引【P42】

布尔索引
image.png

变形 变化 拼接 降维【P43】

reshape和resize变形
reshape和resize都是用来改变数组形状的,但是 reshape只是返回改变形状后的视图,数组本身是不变的;而resize没有返回,直接 改变数组本身的形状.
image.png

ravel,flatten 和 reshape 降维

运算【P45】

在NumPy库中,实现四则运算既可以使用运算符号+,-, ,/,也可以使用函 数add, substract,multiply, divide.需要注意的是,函数只能接受两个对象的运算, 如果需要多个对象的运算,就得使用嵌套方法.
另外还有三个数学运算符,分别是余数、整除和幂次,可以使用符号%, //,*
, 也可以使用函数fmod, modf和power.但是整除的函数应用会稍微复杂一点,需要 写成nP.modf(a/b)[l]的格式,因为modf可以返回数值的小数部分和整数部分,而 整数部分就是要取的整数值.

ufunc函数 广播机制【P46】

广播(broadcasting)是指不同形状的数组之间执行算术运算的方式.当使用 iifirnc函数进行数组计算时,ufunc函数会对两个数组的对应元素进行计算.进行这 种计算的前提是两个数组的维度相容.若两个数组的维度不相容时,则NrnnPy会 实行广播机制.但是数组的广播功能是有规则的,如果不满足这些规则,运算时就 会出错.数组的主要广播规则为:
(1) 各输入数组的维度可以不相等,但必须确保从右到左的对应维度值相等.
(2) 如果对应维度值不相等,就必须保证其中一个为1.

Random【P46】

image.png

文本文件和二进制文件存取【P47】

savetxt()和loadtxt()存取文本文件
savetxt()可以把1维和2维数组保存到文本文件中.loadtxtO可以把文本文 件中的数据加载到1维和2维数组中.

genfromtxt读入文本文件数据
image.png

tofile。和fromfileO存取二进制格式文件
使用数组对象的t〇me〇方法可以方便地将数组中的数据以二进制格式写进文 件,tofileO输出的数据不保存数组形状和元素类型等信息.因此用fromfileO函数 读回数据时需要用户指定元素类型,并对数组的形状进行适当的修改.

文件操作

基本操作

文件对象名=open(文件名[,打开方式[,缓冲区])
文件对象名• close ()
image.png
image.png
image.png

文件管理 路径 目录【P56】

listdirO方法返回指定目录下的文件和目录列表,它的一般格式为 os.listdir(“目录名”)

⑴mkdir()方法.mkdir()方法在当前目录下创建目录,一般格式为

数据处理工具Pandas

“panel data”(面板数据)
Pandas可以进行统计特征计算,包括均值、方差、分位数、相关系数和协方差 等,这些统计特征能反映数据的整体分布.

Series 一维数据

。。。

DataFrame 二维数据

。。。

read_csv 函数【P60】

image.png
image.png

read_excel()函数

读取数据 分析数据
获取部分数据(数据子集)

Matplotlib 可视化

Matplotlib 提出了 Object Container (对象容器)的概念,它有 Figure, Axes, Axis, Tick四种类型的对象容器.Figure负责图形大小、位置等操作;Axes负责坐标轴位 置、绘图等操作;Axis负责坐标轴的设置等操作.Tick负责格式化刻度的样式等操 作.四种对象容器之间是层层包含的关系.

plot函数 折线图

⑴pie():绘制饼状图.
(2) bar〇:绘制柱状图.
⑶histG:绘制二维直方图.
(4) scatter():绘制散点图.

为了将面向对象的绘图库包装成只使用函数的API,pyplot模块的内部保存了 当前图形以及当前子图等信息.可以使用gcf()和gca()获得这两个对象它们分别 是 “Get Current Figure” 和 “Get Current Axes” 开头字母的缩写• gcf()获得的是 表示图形的Figure对象,而gca()获得的则是表示子图的Axes对象.例如:
fig = gcf()
axes = gca()

散点图【P68】
多图形画在同一个图上(latex格式显示公式)
多个图形单独显示
三维曲线
三维曲面
等高线
向量场
跨行跨列显示 ax4=subplot(2,3,(4,5)〉#4, 5号子窗 口合并
多类型图片绘制

scipy.stats 模块简介

NuraPy能生成一定概率分布的随机数,但如果需要更具体的概率密度、分布函 数等,就用scipy.stats模块了. Python做简单的统计分析也可以使用scipy.stats 模块,第4章再详细介绍.
scipy.stats模块包含了多种概率分布的随机变量,随机变*:分为连续型和离散 型两种.所有的连续型随机变量都是rv_continuous的派生类的对象,而所有的离 散型随机变量都是rv_discrete的派生类的对象.

随机变量及分布

1.连续型随机变量及分布

2.离散型随机变量及分布

概率密度函数和分布律可视化

画图
火柴杆图