2024年10月16日 python高级教程 Python51
1.numpy(高效多维数据表示)
NumPy数组可以将许多数据处理任务表述为简洁的数组表达式,否则需要编写循环。用数组表达式代替循环的做法,通常被称为矢量化。通常矢量化数组运算要比等价的纯Python方式快上一两个数量级,尤其是各种数值计算。
假设我们想要在一组值(网格型)上计算函数sqrt(x^2 + y^2)。np.meshgrid()函数接受两个一维数组,并产生两个二维矩阵,对应于两个数组中所有的(x, y)对。
points = np.arange(-5, 5, 0.01) #1000个间隔相等的点。xs, ys = np.meshgrid(points, points)z = np.sqrt(xs ** 2 + ys ** 2)
2.scipy(数值计算)
Scipy在Numpy的基础上则加了众多的数学计算,计算以及工程计算中常用的模块,例如线性代数,常微分方程的数值求解,信号处理,图像处理,系数矩阵等。在本章中,将通过实例介绍Scipy中常用的的一些模块。为了方便读者理解,在示例程序中使用matplotlib,TVTK以及Mayavi等扩展绘制二维以及三维图表。
Scipy的special模块是一个非常完整的函数库,其中包含了基本数学函数,特殊数学函数以及Numpy中出现的所有函数。
伽马(gamma)函数γ时概率统计学中经常出现的一个函数,它计算公式如下:
显然这样计算起来特别的麻烦,幸运的是。scipy.special中有内置的gamma模块。
>>> import scipy.special as S >>> S.gamma(4) 6.0 >>> S.gamma(0.5) 1.7724538509055159 >>> S.gamma(1+1j) (0.4980156681183554-0.15494982830181081j) >>> S.gamma(1000) inf
Γ(z)函数时结成函数在实数和复数系上的扩展,他的增长速度特别的块,1000的阶乘就超过了双精度浮点数的表示范围,因此结果就是无穷大。为了计算更大的范围可以使用gammaln()计算ln(|Γ(x)|)的只,它使用特殊的算法,能够直接计算Γ函数的对数值,因此可以表示更大的范围。
3.sympy(符号计算)
SymPy是Python的一个数学符号计算库。它目的在于成为一个富有特色的计算机代数系统。它保证自身的代码尽可能的简单,且易于理解,容易扩展。SymPy完全由Python写成,不需要额外的库。
Sympy安装
pip install sympy
4.matplotlib(数据可视化)
Matplotlib,是一个Python的2D绘图库,通过这个库,开发者可以仅需要几行代码,便可以生成绘图,直方图,功率图,条形图,错误图,散点图等等
(1)库的安装和环境的配置
windows下:
py -3 -m pip install matplotlib
linux下:
python3 -m pip install matplotlib
建议配合Jupyter使用。在jupyter notebook中,使用
%matplotlib inline
进入交互页面
(2)设置中文环境
首先引入包:
import numpy as np #之后需要用到 import matplotlib as mpl #设置环境变量 import matplotlib.pyplot as plt #绘图专用 from mpl_toolkits.mplot3d import Axes3D #绘制3D图1234
为了让图片兼容中文的说明、名字等,这里需要:
mpl.rcParams['font.sans-serif'] = ['FangSong'] mpl.rcParams['axes.unicode_minus']=False
本文链接:http://so.lmcjl.com/news/15503/