python之数学相关模块

Python010

python之数学相关模块,第1张

先来看一下 math 模块中包含内容,如下所示:

接下来具体看一下该模块的常用函数和常量。

ceil(x)

返回 x 的上限,即大于或者等于 x 的最小整数。看下示例

floor(x)

返回 x 的向下取整,小于或等于 x 的最大整数。看下示例:

fabs(x)

返回 x 的绝对值。看下示例:

fmod(x, y)

返回 x/y 的余数,值为浮点数。看下示例:

factorial(x)

返回 x 的阶乘,如果 x 不是整数或为负数时则将引发 ValueError。看下示例:

pow(x, y)

返回 x 的 y 次幂。看下示例:

fsum(iterable)

返回迭代器中所有元素的和。看下示例:

gcd(x, y)

返回整数 x 和 y 的最大公约数。看下示例:

sqrt(x)

返回 x 的平方根。看下示例:

trunc(x)

返回 x 的整数部分。看下示例:

exp(x)

返回 e 的 x 次幂。看下示例:

log(x[, base])

返回 x 的对数,底数默认为 e。看下示例:

常量

tan(x)

返回 x 弧度的正切值。看下示例:

atan(x)

返回 x 的反正切值。看下示例:

sin(x)

返回 x 弧度的正弦值。看下示例:

asin(x)

返回 x 的反正弦值。看下示例:

cos(x)

返回 x 弧度的余弦值。看下示例:

acos(x)

返回 x 的反余弦值。看下示例:

decimal 模块为正确舍入十进制浮点运算提供了支持,相比内置的浮点类型 float,它能更加精确的控制精度,能够为精度要求较高的金融等领域提供支持。

decimal 在一个独立的 context 下工作,可以使用 getcontext() 查看当前上下文,如下所示:

从上面的结果中我们可以看到 prec=28,这就是默认的精度,我们可以使用 getcontext().prec = xxx 来重新设置精度。接下来通过具体示例看一下。

基本运算

执行结果:

上面结果是用了默认精度,我们重新设置下精度再来看一下:

执行结果:

random 模块可以生成随机数,我们来看一下其常用函数。

random()

返回 [0.0, 1.0) 范围内的一个随机浮点数。看下示例:

uniform(a, b)

返回 [a, b) 范围内的一个随机浮点数。看下示例:

randint(a, b)

返回 [a, b] 范围内的一个随机整数。看下示例:

randrange(start, stop[, step])

返回 [start, stop) 范围内步长为 step 的一个随机整数。看下示例:

choice(seq)

从非空序列 seq 返回一个随机元素。 看下示例:

shuffle(x[, random])

将序列 x 随机打乱位置。看下示例:

sample(population, k)

返回从总体序列或集合中选择的唯一元素的 k 长度列表,用于无重复的随机抽样。看下示例:

参考:

https://docs.python.org/3/library/numeric.html

1、系统内置模块

os模块:os模块包含普遍的操作系统功能

sys模块:提供了一系列有关Python运行环境的变量和函数

random模块:random模块用于生成随机数

time 模块: 主要包含各种提供日期、时间功能的类和函数

datetime模块:对time模块的一个高级封装

shutil模块:是一种高层次的文件操作工具

logging模块:将日志打印到了标准输出中

re模块:可以直接调用来实现正则匹配

pymysql模块:连接数据库,并实现简单的增删改查

threading模块:提供了更强大的多线程管理方案

queue模块:实现了多生产者,多消费者的队列

json模块:用于字符串和数据类型间进行转换json

2、开源(三方)模块

Requests:最富盛名的http库。每个Python程序员都应该有它。

Scrapy:从事爬虫相关的工作,这个库也是必不可少的。

NumPy:为Python提供了很多高级的数学方法。

matplotlib:一个绘制数据图的库。对于数据分析师非常有用。

Pygame:开发2D游戏的时候可以用上 。

Scapy:用Python写的数据包探测和分析库。

Django:开源Web开发框架,它鼓励快速开发,并遵循MVC设计,开发周期短。

Py2exe:将python脚本转换为windows上可以独立运行的可执行程序。

BeautifulSoup:基于Python的HTML/XML解析器,简单易用。

PyGtk:基于Python的GUI程序开发GTK+库。

3、自定义模块

自定义模块是自己写的模块,对某段逻辑或某些函数进行封装后供其他函数调用。

注意:自定义模块的命名一定不能和系统内置的模块重名了,否则将不能再导入系统的内置模块了。

例如:自定义了一个sys.py模块后,再想使用系统的sys模块是不能使用的。

1. Numpy

Python没有提供数组功能,Numpy可以提供数组支持以及相应的高效处理函数,是Python数据分析的基础,也是SciPy、Pandas等数据处理和科学计算库最基本的函数功能库,且其数据类型对Python数据分析十分有用。

2. Pandas

Pandas是Python强大、灵活的数据分析和探索工具,包含Series、DataFrame等高级数据结构和工具,安装Pandas可使Python中处理数据非常快速和简单。

3. SciPy

SciPy是一组专门解决科学计算中各种标准问题域的包的集合,包含的功能有最优化、线性代数、积分、插值、拟合、特殊函数、快速傅里叶变换、信号处理和图像处理、常微分方程求解和其他科学与工程中常用的计算等,这些对数据分析和挖掘十分有用。

4. Matplotlib

Matplotlib是强大的数据可视化工具和作图库,是主要用于绘制数据图表的Python库,提供了绘制各类可视化图形的命令字库、简单的接口,可以方便用户轻松掌握图形的格式,绘制各类可视化图形。

5. Scikit-Learn

Scikit-Learn是Python常用的机器学习工具包,提供了完善的机器学习工具箱,支持数据预处理、分类、回归、聚类、预测和模型分析等强大机器学习库,其依赖于Numpy、Scipy和Matplotlib等。

6. Keras

Keras是深度学习库,人工神经网络和深度学习模型,基于Theano之上,依赖于Numpy和Scipy,利用它可以搭建普通的神经网络和各种深度学习模型,如语言处理、图像识别、自编码器、循环神经网络、递归审计网络、卷积神经网络等。

7. Gensim

Gensim是用来做文本主题模型的库,常用于处理语言方面的任务,支持TF-IDF、LSA、LDA和Word2Vec在内的多种主题模型算法,支持流式训练,并提供了诸如相似度计算、信息检索等一些常用任务的API接口。

8. Scrapy

Scrapy是专门为爬虫而生的工具,具有URL读取、HTML解析、存储数据等功能,可以使用Twisted异步网络库来处理网络通讯,架构清晰,且包含了各种中间件接口,可以灵活的完成各种需求。更多python技术,推荐关注老男孩教育。