(六)Python计算生态概览
Python计算生态概览
0x1 从数据处理到人工智能
数据表示、数据清洗、数据统计、数据可视化、数据挖掘、人工智能
数据表示 采用合适方式用程序表达数据
数据清洗 数据归一化、数据转换、异常值处理
数据统计 数据的概要理解、数量、分布、中位数等
数据可视化 直观展示数据内涵的方式
数据挖掘 从数据分析获得知识,产生数据外的价值
人工智能 数据/语言/图像/视觉等方面升读分析与决策
Python库之数据分析
Numpy
Numpy:表达N维数组的最基础库
Python接口使用、C语言实现,计算速度优异
Python数据分析及科学设计的基础库,支撑pandas等
提供直接的矩阵运算、广播函数、线性代数等功能
Pandas
Pandas:Python数据分析高层次应用库
提供了简单易用的数据结构和数据分析工具
理解数据类型与索引的关系。操作索引即操作数据
Python最主要的数据分析功能库,基于Numpy开发
核心
Series = 索引 + 一维数据
DataFrame = 行列索引 + 二维数据
SciPy
SciPy数学科学和工程计算功能库
提供了一批数学算法及工程数据运算功能
类似Matlab,可用于傅里叶变换、信号处理等应用
Python最主要用于科学计算的功能库,基于Numpy开发
Python库之数据可视化
Matplotlib
高质量的二维数据可视化功能库
提供了超过100种数据可视化展示效果
通过matplotlib.pyplot子库调用各可视化效果
Seaborn
统计类数据可视化功能库
提供了一批高层次的统计类数据可视化展示效果
主要展示数据间分布、分类和线性关系等内容
基于Matplotlib开发,支持Numpy和Pandas
Mayavi
三维科学数据可视化功能库
提供了一批简单易用的3D科学计算数据可视化展示效果
三维可视化最主要的第三方库
支持Numpy、TVTK、Traits、Envisage等第三方库
http://docs.enthought.com/mayavi/mayavi/
Python库之文本处理
PyPDF2
提供了一批处理PDF文件的计算功能
支持获取信息、分隔/整合文件、加密解密等
完全Python语言实现,不需要额外依赖,功能稳定
NLTK
自然语言文本处理第三方库
支持语言文本分类、标记、语法句法、语义分析等
最优秀的自然语言处理库
Python-docx
创建或更新Microsoft Word文件的第三方库
提供创建或更新.doc.docx等文件的计算功能
增加并配置段落、图片、表格、文字等,功能全面
Python库之机器学习
Scikit-learn
机器学习方法工具集
提供一批统一化的机器学习方法功能接口
提供聚类、分类、回归、强化学习等计算功能
机器学习基本和优秀的第三方库
TensorFlow
AlphaGo背后机器学习计算框架
谷歌公司推动的开源机器学习框架
将数据流图作为基础,图节点代表运算,边代表张量
应用机器学习方法的方式之一,支撑谷歌人工智能应用
MXNet
基于神经网络的深度学习计算框架
提供可扩展的神经网络及深度学习计算功能
可用于自动驾驶、机器翻译、语音识别等众多领域
Python最重要的深度学习框架
0x2 实例 霍兰德人格分析雷达图
雷达图
Radar Chart
多特性直观展示的重要方式
霍兰德人格分析
霍兰德认为:人格兴趣与职业之间应有一种内在的对应关系
人格分类:研究型、艺术型、社会型、企业型、传统型、现实型
职业:工程师、实验员、艺术家、推销员、记事员、社会工作者
需求用雷达库方式验证霍兰德人格分析
各职业人群结合兴趣的调研数据
雷达图
通用雷达图绘制:matplotlib库
专业的多维数据表示:numpy库
实例展示
#HollandRadarDraw |
举一反三
目标 沉浸 熟练
找到合适的目标
思考可实现的方法
不断的练习、练习
0x3 从web解析到网络空间
python库之网络爬虫
Requests
最友好的网络爬虫功能库
提供了简单易用的类HTTP协议网络爬虫功能
支持连接池、SSL、Cookies、HTTP(S)代理等
页面级网络爬虫功能库
import requests |
http://www.python-requests.org/
Scrapy
优秀的网络爬虫框架
框架是已经拥有了基础功能,只需开发者在基础之上进行扩展开发或者额外配置
支持批量和定时的网页爬取、提供数据处理流程等
主要和优秀的基础库
pyspider
强大的web网页爬取系统
提供了完整的网页爬取系统构建功能
支持数据库后端、消息队列、优先级、分布式架构
python库之web信息提取
如何解析HTML和XML的内容
Beautiful Soup
HTML和XML的解析库
提供解析HTML和XML等Web信息的功能
又名 beautifulsoup4 或 bs4,可以加载多种解析引擎
常与网络爬虫库搭配使用,如Scrapy、requests等
Re
正则表达式解析和处理功能库
提供了定义和解析正则表达式的一批通用功能
可用于各类场景,包括定点的Web信息提取
Python最主要的标准库之一,无需安装
Python-Goose
提取文章类型Web页面的功能库
提供了对Web也米娜中文章信息/视频等元数据的提取功能
针对特定Web页面,应用覆盖面较广
Python最主要的Web信息提取库
from goose import Goose |
https://github.com/grangier/python-goose
python库之web网站开发
Django
提供了构建Web系统的基本应用框架
MTV:模型(model)、模板(Template)、视图(Views)
Python最重要的Web应用框架,略微复杂的应用框架
Pyramid
规模适中的Web应用框架
提供了简单方便构建Web系统的应用框架
不大不小,规模适中,适合快速构建并熟读扩展类应用
Python产品级Web应用框架,起步简单可扩展性好
Flask
提供了最简单构建Web系统的应用框架
特点是:简单、规模小、快速
python库之网络应用开发
WeRoBot
微信公众号开发框架
提供了解析微信服务器消息及反馈消息的功能
建立微信机器人的重要技术手段
百度AI的开发平台接口aip
提供了访问百度Ai服务的Python功能接口
语言、人脸、OCR、NLP、知识图谱、图像搜索等领域
MyQR
二维码生成第三方库
提供了生成二维码的系列功能
基本二维码、艺术二维码、动态二维码
0x4 从人机交互到艺术设计
Python库之图形用户界面
PyQt5
Qt 框架 由诺基亚公司创建
提供了创建Qt5程序的Python API接口
Qt是非常成熟的跨平台桌面应用开发系统,完备GUI
推荐Python GUI开发第三方库
wxpython
跨平台GUI开发框架
提供了赚用于Python的跨平台GUI开发框架
理解数据类型与索引的关系,操作索引即操作数据
Python最主要的数据分析功能库,基于Numpy开发
PyGObject
使用GTK+开发GUI的功能库
提供了整合GTK+、WebKitGTK+等库的功能
GTK+:跨平台的一种用户图形界面GUI框架
Python库之游戏开发
PyGame:
提供了基于SDL的简单游戏开发功能及实现引擎
理解游戏对外部输入的相应计值及角色构建和交互机制
Python游戏入门最主要的第三方库
Panda3D
开源、跨平台的3D渲染和游戏开发库
一个3D游戏引擎,提供Python和C++两种接口
支持很多先进特性:法线贴图、光泽贴图、卡通渲染等
cocos2d
构建2D游戏和图形界面交互式应用的框架
提供了基于OpenGL的游戏开发图形渲染功能
支持GPU加速,采用树形结构分层管理游戏对象类型
适用于2D专业级游戏开发
Python库之虚拟现实
VR Zero
在树莓派上开发VR应用的Python库
提供大量与VR开发相关的功能
针对树莓派的VR开发库,支持设备小型化,配置简单化
适合初学者
pyovr
针对Oculus VR设备的Python开发库
基于成熟的VR设备,提供全套问答,工业级应用设备
Python + 虚拟现实领域探索的一种思路
Vizard
基于Python的通用VR开发引擎
专业企业家开发引擎
提供详细的官方文档
支持多种主流的VR硬件设备,具有一定通用性
Python库之图形艺术
Quads
迭代的艺术
对图片进行四分迭代,形成像素风
可以生成动图或静图图像
ascii_art
将图片转为ASCII艺术风格
输出可以是纯文本或彩色文本
以图片格式输出
turtle
海龟绘图体系
random Art
0x5 实例 玫瑰花绘制
玫瑰花绘制
需求:Python绘制一朵玫瑰花,献给所思所念
输入:你的想象力
输出:玫瑰花
实例
艺术之余编程
创新、思想
思想最重要
编程只是手段
全课程总结
总结
感性认识、理性学习、展望未来
主要是面向过程的讲解
第三方库
实例
python语法的三个阶段
函数式编程、面向对象编程、Pythonic编程
Python的未来之路
无处不在
C、JS