8个常用python库从安装命令及应用程序( 二 )

NumPy是Python中相当成熟和常用的库,因此关于它的教程有很多,最值得一看的是其官网的帮助文档,其次还有很多中英文教程,读者遇到相应的问题时,可以查阅相关资料 。
参考链接:
***
***/python/2012/08/22/numpy
02 SciPy如果说NumPy让Python有了MATLAB的味道,那么SciPy就让Python真正成为半个MATLAB了 。NumPy提供了多维数组功能,但它只是一般的数组,并不是矩阵,比如当两个数组相乘时,只是对应元素相乘,而不是矩阵乘法 。SciPy提供了真正的矩阵以及大量基于矩阵运算的对象与函数 。
SciPy包含的功能有最优化、线性代数、积分、插值、拟合、特殊函数、快速傅里叶变换、信号处理和图像处理、常微分方程求解和其他科学与工程中常用的计算,显然,这些功能都是挖掘与建模必需的 。
SciPy依赖于NumPy,因此安装之前得先安装好NumPy 。安装SciPy的方式与安装NumPy的方法大同小异,需要提及的是,在Ubuntu下也可以用类似的命令安装SciPy,安装命令如下:
sudo apt-get install python-scipy 安装好SciPy后,使用SciPy求解非线性方程组和数值积分,如代码清单2-28所示 。

  • 代码清单2-28 使用SciPy求解非线性方程组和数值积分
# -*- coding: utf-8 -* # 求解非线性方程组2x1-x2^2=1,x1^2-x2=2 from scipy.optimize import fsolve # 导入求解方程组的函数 def f(x): # 定义要求解的方程组 x1 = x[0] x2 = x[1] return [2*x1 - x2**2 - 1, x1**2 - x2 -2] result = fsolve(f, [1,1]) # 输入初值[1, 1]并求解 print(result) # 输出结果,为array([ 1.91963957, 1.68501606]) # 数值积分 from scipy import integrate # 导入积分函数 def g(x): # 定义被积函数 return (1-x**2)**0.5 pi_2, err = integrate.quad(g, -1, 1) # 积分结果和误差 print(pi_2 * 2) # 由微积分知识知道积分结果为圆周率pi的一半 参考链接:
***
***/python/2012/08/24/scipy
03 Matplotlib不论是数据挖掘还是数学建模,都要面对数据可视化的问题 。对于Python来说,Matplotlib是最著名的绘图库,主要用于二维绘图,当然也可以进行简单的三维绘图 。它不仅提供了一整套和MATLAB相似但更为丰富的命令,让我们可以非常快捷地用Python可视化数据,而且允许输出达到出版质量的多种图像格式 。
Matplotlib的安装并没有什么特别之处,可以通过“pip install matplotlib”命令安装或者自行下载源代码安装,在Ubuntu下也可以用类似的命令安装,命令如下:
sudo apt-get install python-matplotlib 需要注意的是,Matplotlib的上级依赖库相对较多,手动安装的时候,需要逐一把这些依赖库都安装好 。安装完成后就可以牛刀小试了 。下面是一个简单的作图例子,如代码清单2-29所示,它基本包含了Matplotlib作图的关键要素,作图效果如图2-5所示 。
  • 代码清单2-29 Matplotlib作图示例
# -*- coding: utf-8 -*- import numpy as np import matplotlib.pyplot as plt # 导入Matplotlib x = np.linspace(0, 10, 1000) # 作图的变量自变量 y = np.sin(x) + 1 # 因变量y z = np.cos(x**2) + 1 # 因变量z plt.figure(figsize = (8, 4)) # 设置图像大小 plt.plot(x,y,label = '$\sin x+1$', color = 'red', linewidth = 2) # 作图,设置标签、线条颜色、线条大小 plt.plot(x, z, 'b--', label = '$\cos x^2+1$') # 作图,设置标签、线条类型 plt.xlabel('Time(s) ') # x轴名称 plt.ylabel('Volt') # y轴名称 plt.title('A Simple Example') # 标题 plt.ylim(0, 2.2) # 显示的y轴范围 plt.legend() # 显示图例 plt.show() # 显示作图结果
8个常用python库从安装命令及应用程序

文章插图

推荐阅读