关于python的计算生态介绍
有人说python除了不能生孩子,其他什么都可以。这足以说明python有多强大,而python的强大离不开背后强大的计算生态。
- 从数据处理到人工智能
数据表示:采用合适方式用程序表达数据
数据清洗:数据归一化,数据转换、异常值处理
数据统计:数据的概要理解,数量、分布,中位数等
数据可视化:直观展示数据内涵的方式 数据挖掘:从数据分析获得知识,产生数据外的价值
人工智能:数据/语言/图像/视觉等方面深度分析与决策
-
python数据分析库:
- numpy库(https://www.numpy.org),使用C语言实现,对外的接口使用python语言,计算速度优异
- pandas库(https://pandas.pydata.org),底层基于numpy开发,python数据分析高层次应用库,提供了简单易用的数据结构和数据分析工具,通过操作索引操作数据,提供两个数据结构:series = 索引+一维数据,DataFrame=行列索引+二维数据
- scipy库(http://www/scipy.org)底层基于numpy开发,:数学、科学和工程计算功能库,提供了一批数学算法及工程数据运算功能。类似Matlab,可用于如傅里叶变换,信号处理等功能 -
python数据可视化库:
- Matplotlib库(http://matplotlib.org),底层基于numpy开发:高质量的二位数据可视化功能库,提供了超百种数据可视化展示效果,通过matplotlib.pyplot子库调用各种可视化效果
- Seaborn库(http://seaborn.pydata.org):统计类数据可视化功能库,主要展示数据件分布,分类和线性关系等内容,基于motplotlib库开发,支持numpy和pandas
- Mayavi库(http://docs.enthought.com/mayavi/mayavi/):三维科学数据可视化功能库,提供了一批简单易用的3D科学计算数据可视化展示效果,支持numpy、TVTK、Traits、Envisage等第三方库 -
python文本处理库:
- PyPDF2库(http://mstamy2.github.io/PyPDF2):用来处理PDF文件的工具集,提供了一批处理pdf文件的计算功能,支持获取信息、分隔/整合文件,加密解密等。完全使用python语言实现,不需要额外依赖,功能稳定
- NLTK库(http://www.nltk.org/):自然语言文本处理第三方库,提供简单易用的自然文本语言处理功能,支持语言文本分类,标记,语法句法,语义分析等,目前最优秀的python自然语言处理库
- python-docx库(http://python-docx.readthedocs.io/en/latest/index.html):创建或更新Microsoft Word文件的第三方库,提供创建或更新,doc .docx等文件的计算功能 -
python机器学习库
- Scikit-learn库(http://scikit-learn.org/):机器学习方法工具集,提供一批统一化的机器学习方法功能接口,提供聚类,分类,回归,强化学习等计算功能,是机器学习最基本最优秀的python第三方库
- TensorFlow(https://www.tensorflow.org/):AlphaGo背后的机器学习计算框架,Google公司推动的开源(使用的是python语言)机器学习框架,可以将数据流图作为最基础,图节点代表运算,边代表张量进而形成机器学习的整体模式,也是应用机器学习方法的一种方式,支持谷歌人工智能应用
- MXNet库(https:mxnet.incubator.apache.org/):基于神经网络的深度学习计算框架,提供可扩展的神经网络及深度学习计算功能,使用该库可以用来设计自动驾驶,机器翻译,语音识别等众多领域
- 从web解析到网络空间
-
python网络爬虫库
- requests库(http://www.python-requests.org/):最友好的网络爬虫功能库,提供了简单易用的类HTTP协议网络爬虫功能,支持连接池,SSL、Cookies、HTTP代理等,是python最主要的页面级网络爬虫功能库
- Scrapy库(https://scrapy.org):优秀的网络爬虫框架,提供了构建网络爬虫系统的框架功能,支持批量和定时的网页爬取、提供数据处理流程等,是python目前最主要且最专业的网络爬虫框架
- pyspider库(http://docs.pyspider.org):强大的web页面爬取系统,提供了完整的网页爬取系统构建,支持数据库后端、消息队列、优先级、分布式框架等,是python最重要的第三方网络爬虫库,也是建立和建设专业级web网络爬取系统 -
python web信息提取库
- BeautifulSoup库(https://www.curmmy.com/software/BeautifulSoup/bs4),提供了解析HTML和XML等Web信息的功能,可以加载多种解析引擎,又名beautifulsoup4或bs4,常与网络爬虫库搭配使用,如Scapy、requests等
- Re库(https//docs.python.org/3.6/library/re.html):正则表达式解析和处理功能库,提供了定义和解析正则表达式的一批通用功能,可以用于合类场景,包括定点的web信息提取,是python的标准库
- python-Goose(https://github.com/grangier/python-goose):提取文章类型Web页面的功能库,提供了对Web页面中文章信息/视频等元数据的提取功能,这对特定类型Web页面,应用覆盖面较广 -
python web网站开发库
- Django库:最流行的web应用框架,提供了构建web系统的基本应用框架,采用MTV模式开发,是python最重要的Web应用框架。
之前在这篇文章中记录了Django框架的学习心得。链接:https://www.jianshu.com/p/b9b080439d78
- pyramid库:规模适中的web应用框架,提供了简单方便构建web系统的应用框架,是python产品级的应用框架,起步简单可扩展性好
- Flask库:Web应用开发微框架,提供了最简单构建web系统的应用框架,特点就是简单,规模小,编写快速 -
python网络应用开发库
- WeRobot(https://github.com/offu/WeRobot):微信公众号开发框架,提供了解析微信服务器消息及反馈消息的功能是建立微信机器人的重要手段
- aip库(https://github.com/Baidu-AIP/python-sdk):百度AI开放平台接口,提供了访问百度人工智能服务的python功能接口,包括语音、人脸、OCR、NLP、知识图谱、图像搜索等领域的众多功能
- MyQR(https://github.com/stlnsfar/qrcode):二维码生成第三方库,提供了生成基本二维码、艺术二维码和动态二维码
- 从人机交互到艺术设计
-
python图形用户界面库
- PyQt5库(https://www.riverbankcomputing.com/software/pyqt):Qt框架开发的python接口,Qt是非常成熟的跨平台桌面应用开发系统,具有完备的GUI
- wxPython(https://www.wxpython.org):跨平台GUI开发框架,提供了专用于python的跨平台GUI开发框架。也是python最主要的数据分析功能库,基于numpy开发
- PyGObject(https://pygobject.readthedocs.io):使用GTK+ 开发GUI的功能库,提供了整合GTK+ 、WebKitGTK+ 等库的功能。GTK+ 是跨平台的一种用户图形界面GUI框架 -
python游戏开发库
- PyGame(http://www.pygame.org):简单的游戏开发功能库,提供了基于SDL的简单游戏开发功能及实现引擎,是理解游戏对外部输入的响应机制及角色构建和交互机制重要的入门平台
- Panda3D(http:www.panda3d.org):是开源、跨平台的3D渲染和游戏开发库,提供了python和C++两种接口,支持很多先进的三位渲染功能:法线贴图、光泽贴图、卡通渲染等,由迪士尼和卡耐基梅隆大学共同开发
- cocos2d:构建2D游戏和图形界面交互式应用的框架,提供了基于OpenGL的游戏开发图形渲染功能,支持GPU加速,适用于2D专业级游戏开发 -
python虚拟现实库
- VR Zero(https://github.com/WayneKeenan/python-vrzero):在树莓派上开发VR应用的Python库,提供了大量于VR开发相关的功能,支持设备小型化、配置简单化,非常适合初学者时间VR开发及应用
- pyovr库(https://github.com/cmbruns/pyovr):Oculus Rift的python开发接口,针对Oculus VR设备的Python开发库,基于成熟的VR设备,提供全套文档,工业级应用设备
- Vizard(http://www.worldviz.com/vizard-virtual-reality-software):基于python的通用VR开发引擎,是一个专业的企业级虚拟现实开发引擎,提供详细的官方文档,支持多种主流VR硬件设备,具有一定通用性 -
python图形艺术库
- Quads库(https://github.com/fogleman/Quads):迭代的艺术,能够对图片进行四分迭代,可以生成给动图或静图图像
- ascii_art库(https://github.com/jontonsoup4/ascii_art):ASCII艺术库,可以将普通图片转为ASCII艺术风格,输出可以是纯文本或彩色文本,可以词用图片格式输出
- turtle库:(https://docs.python.org/3/library/turtle.html)