北理工嵩天Python语言程序设计笔记(10 Python计算生态概览)

前言

本文是对《北理工 嵩天/黄天宇/礼欣 Python语言程序设计》的学习笔记,供自己查阅使用。

文章目录

  1. 北理工嵩天Python语言程序设计笔记(目录)
  2. 北理工嵩天Python语言程序设计笔记(2 Python基本语法元素)
  3. 北理工嵩天Python语言程序设计笔记(3 Python基本图形绘制)
  4. 北理工嵩天Python语言程序设计笔记(4 基本数据类型)
  5. 北理工嵩天Python语言程序设计笔记(5 程序的控制结构)
  6. 北理工嵩天Python语言程序设计笔记(6 函数和代码复用)
  7. 北理工嵩天Python语言程序设计笔记(7 组合数据类型)
  8. 北理工嵩天Python语言程序设计笔记(8 文件和数据格式化)
  9. 北理工嵩天Python语言程序设计笔记(9 程序设计方法学)
  10. 北理工嵩天Python语言程序设计笔记(10 Python计算生态概览)

笔记目录

  • 前言
  • 文章目录
  • 10 Python计算生态概览
    • 10.1 从数据处理到人工智能
      • 10.1.1 Python库之数据分析
      • 10.1.2 Python库之数据可视化
      • 10.1.3 Python库之文本处理
      • 10.1.4 Python库之机器学习
    • 10.2 实例15: 霍兰德人格分析雷达图
    • 10.3 从Web解析到网络空间
      • 10.3.1 Python库之网络爬虫
      • 10.3.2 Python库之Web信息提取
      • 10.3.3 Python库之Web网站开发
      • 10.3.4 Python库之网络应用开发
    • 10.4 从人机交互到艺术设计
      • 10.4.1 Python库之图形用户界面
      • 10.4.2 Python库之游戏开发
      • 10.4.3 Python库之虚拟现实
      • 10.4.4 Python库之图形艺术
    • 10.5实例16: 玫瑰花绘制
  • 课程总结


10 Python计算生态概览

10.1 从数据处理到人工智能

10.1.1 Python库之数据分析

Numpy: 表达N维数组的最基础库

Pandas: Python数据分析高层次应用库

  • Series = 索引+ 一维数据
  • DataFrame= 行列索引+ 二维数据

SciPy: 数学、科学和工程计算功能库

10.1.2 Python库之数据可视化

Matplotlib: 高质量的二维数据可视化功能库

  • 提供了超过100种数据可视化展示效果
  • 通过matplotlib.pyplot子库调用各可视化效果
  • Python最主要的数据可视化功能库,基于Numpy开发

Seaborn: 统计类数据可视化功能库

  • 提供了一批高层次的统计类数据可视化展示效果
  • 主要展示数据间分布、分类和线性关系等内容
  • 基于Matplotlib开发,支持Numpy和Pandas

Mayavi:三维科学数据可视化功能库

  • 提供了一批简单易用的3D科学计算数据可视化展示效果
  • 目前版本是Mayavi2,三维可视化最主要的第三方库
  • 支持Numpy、TVTK、Traits、Envisage等第三方库

10.1.3 Python库之文本处理

PyPDF2:用来处理pdf文件的工具集

  • 提供了一批处理PDF文件的计算功能
  • 支持获取信息、分隔/整合文件、加密解密等
  • 完全Python语言实现,不需要额外依赖,功能稳定

NLTK:自然语言文本处理第三方库

  • 提供了一批简单易用的自然语言文本处理功能
  • 支持语言文本分类、标记、语法句法、语义分析等
  • 最优秀的Python自然语言处理库

Python-docx:创建或更新Microsoft Word文件的第三方库

  • 提供创建或更新.doc.docx等文件的计算功能
  • 增加并配置段落、图片、表格、文字等,功能全面

10.1.4 Python库之机器学习

Scikit-learn:机器学习方法工具集

  • 提供一批统一化的机器学习方法功能接口
  • 提供聚类、分类、回归、强化学习等计算功能
  • 机器学习最基本且最优秀的Python第三方库

TensorFlow:机器学习计算框架

  • 谷歌公司推动的开源机器学习框架
  • 将数据流图作为基础,图节点代表运算,边代表张量
  • 应用机器学习方法的一种方式,支撑谷歌人工智能应用

10.2 实例15: 霍兰德人格分析雷达图

  • 霍兰德人格分析
    • 霍兰德认为:人格兴趣与职业之间应有一种内在的对应关系
    • 人格分类:研究型、艺术型、社会型、企业型、传统型、现实性
    • 职业:工程师、实验员、艺术家、推销员、记事员、社会工作者
import numpy as np
import matplotlib.pyplot as plt
import matplotlib

matplotlib.rcParams['font.family'] = 'SimHei'
radar_labels = np.array(['研究型(I)', '艺术型(A)', '社会型(S)',
                         '企业型(E)', '常规型(C)', '现实型(R)'])
data = np.array([[0.40, 0.32, 0.35, 0.30, 0.30, 0.88],
                 [0.85, 0.35, 0.30, 0.40, 0.40, 0.30],
                 [0.43, 0.89, 0.30, 0.28, 0.22, 0.30],
                 [0.30, 0.25, 0.48, 0.85, 0.45, 0.40],
                 [0.20, 0.38, 0.87, 0.45, 0.32, 0.28],
                 [0.34, 0.31, 0.38, 0.40, 0.92, 0.28]])  # 数据值
data_labels = ('艺术家', '实验员', '工程师', '推销员', '社会工作者', '记事员')
angles = np.linspace(0, 2 * np.pi, 6, endpoint=False)
data = np.concatenate((data, [data[0]]))
angles = np.concatenate((angles, [angles[0]]))
radar_labels = np.concatenate((radar_labels, [radar_labels[0]]))
fig = plt.figure(facecolor="white")
plt.subplot(111, polar=True)
plt.plot(angles, data, 'o-', linewidth=1, alpha=0.2)
plt.fill(angles, data, alpha=0.25)
plt.thetagrids(angles * 180 / np.pi, radar_labels)
plt.figtext(0.52, 0.95, '霍兰德人格分析', ha='center', size=20)
legend = plt.legend(data_labels, loc=(0.94, 0.80), labelspacing=0.1)
plt.setp(legend.get_texts(), fontsize='large')
plt.grid(True)
plt.savefig('holland_radar.jpg')
plt.show()

10.3 从Web解析到网络空间

10.3.1 Python库之网络爬虫

Requests: 最友好的网络爬虫功能库

Scrapy: 优秀的网络爬虫框架

pyspider: 强大的Web页面爬取系统

10.3.2 Python库之Web信息提取

Beautiful Soup: HTML和XML的解析库

Re: 正则表达式解析和处理功能库

Python-Goose:提取文章类型Web页面的功能库

10.3.3 Python库之Web网站开发

Django: 最流行的Web应用框架

Pyramid: 规模适中的Web应用框架

Flask: Web应用开发微框架

  • 提供了最简单构建Web系统的应用框架
  • 特点是:简单、规模小、快速
  • Django > Pyramid > Flask

10.3.4 Python库之网络应用开发

WeRoBot: 微信公众号开发框架

  • 提供了解析微信服务器消息及反馈消息的功能
  • 建立微信机器人的重要技术手段

aip: 百度AI开放平台接口

MyQR: 二维码生成第三方库

10.4 从人机交互到艺术设计

10.4.1 Python库之图形用户界面

PyQt5: Qt开发框架的Python接口

  • 提供了创建Qt5程序的Python API接口
  • Qt是非常成熟的跨平台桌面应用开发系统,完备GUI
  • 推荐的Python GUI开发第三方库

wxPython: 跨平台GUI开发框架

PyGObject: 使用GTK+开发GUI的功能库

10.4.2 Python库之游戏开发

PyGame: 简单的游戏开发功能库

  • 提供了基于SDL的简单游戏开发功能及实现引擎
  • 理解游戏对外部输入的响应机制及角色构建和交互机制
  • Python游戏入门最主要的第三方库

Panda3D:开源、跨平台的3D渲染和游戏开发库

cocos2d: 构建2D游戏和图形界面交互式应用的框架

10.4.3 Python库之虚拟现实

VR Zero: 在树莓派上开发VR应用的Python库

pyovr: Oculus Rift的Python开发接口

Vizard: 基于Python的通用VR开发引擎

  • 专业的企业级虚拟现实开发引擎
  • 提供详细的官方文档
  • 支持多种主流的VR硬件设备,具有一定通用性

10.4.4 Python库之图形艺术

Quads: 迭代的艺术

  • 对图片进行四分迭代,形成像素风
  • 可以生成动图或静图图像
  • 简单易用,具有很高展示度

ascii_art: ASCII艺术库

  • 将普通图片转为ASCII艺术风格
  • 输出可以是纯文本或彩色文本
  • 可采用图片格式输出

turtle: 海龟绘图体系

10.5实例16: 玫瑰花绘制

课程总结

  • Python语法的三个阶段
    • Python基础语法:函数式编程
    • Python进阶语法:面向对象编程
    • Python高级语法:Pythonic编程

你可能感兴趣的:(#,Python模块有关问题,python,数据分析,开发语言)