一、概述

1.1 从数据处理到人工智能

数据表示->数据清洗->数据统计->数据可视化->数据挖掘->人工智能

  • 数据表示:采用合适方式用程序表达数据

  • 数据清理:数据归一化、数据转换、异常值处理

  • 数据统计:数据的概要理解,数量、分布、中位数等

  • 数据可视化:直观展示数据内涵的方式

  • 数据挖掘:从数据分析获得知识,产生数据外的价值

  • 人工智能:数据/语言/图像/视觉等方面深度分析与决策

  • Python库之数据分析

  • Python库之数据可视化

  • Python库之文本处理

  • Python库之机器学习

二、Python库之数据分析

2.1 numpy

Numpy: 表达N维数组的最基础库,http://www.numpy.org

  • Python接口使用,C语言实现,计算速度优异
  • Python数据分析及科学计算的基础库,支撑Pandas等
  • 提供直接的矩阵运算、广播函数、线性代数等功能
import numpy as np

def np_sum():
a = np.array([0, 1, 2, 3, 4])
b = np.array([9, 8, 7, 6, 5]) c = a**2 + b**3 return c print(np_sum())
[729 513 347 225 141]
def py_sum():
a = [0, 1, 2, 3, 4]
b = [9, 8, 7, 6, 5]
c = [] for i in range(len(a)):
c.append(a[i]**2 + b[i]**3) return c print(py_sum())
[729, 513, 347, 225, 141]

2.2 pandas

Pandas: Python数据分析高层次应用库,http://pandas.pydata.org

  • 提供了简单易用的数据结构和数据分析工具

  • 理解数据类型与索引的关系,操作索引即操作数据

  • Python最主要的数据分析功能库,基于Numpy开发

  • 能操作sql、json、pickle、csv、excel、ini等文件

  • Series = 索引 + 一维数据

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

2.3 scipy

SciPy: 数学、科学和工程计算功能库,http://www.scipy.org

  • 提供了一批数学算法及工程数据运算功能
  • 类似Matlab,可用于如傅里叶变换、信号处理等应用
  • Python最主要的科学计算功能库,基于Numpy开发

三、Python库之数据可视化

3.1 matplotlib

Matplotlib: 高质量的二维数据可视化功能库,http://matplotlib.org

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

3.2 Seaborn

Seaborn: 统计类数据可视化功能库,http://seaborn.pydata.org/

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

3.3 Mayavi

Mayavi:三维科学数据可视化功能库,http://docs.enthought.com/mayavi/mayavi/

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

四、Python库之文本处理

4.1 PyPDF2

PyPDF2:用来处理pdf文件的工具集,http://mstamy2.github.io/PyPDF2

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

merger = PdfFileMerger()
input1 = open("document1.pdf", "rb")
input2 = open("document2.pdf", "rb")
merger.append(fileobj=input1, pages=(0, 3))
merger.merge(position=2, fileobj=input2, pages=(0, 1))
output = open("document-output.pdf", "wb")
merger.write(output)

4.2 NLTK

NLTK:自然语言文本处理第三方库,http://www.nltk.org/

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

t = treebank.parsed_sents('wsj_0001.mrg')[0]

t.draw()

4.3 Python-docx

Python-docx:创建或更新Microsoft Word文件的第三方库,http://python-docx.readthedocs.io/en/latest/index.html

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

document = Document()
document.add_heading('Document Title', 0)
p = document.add_paragraph('A plain paragraph having some ')
document.add_page_break()
document.save('demo.docx')

五、Python库之机器学习

5.1 Scikit-learn

Scikit-learn:机器学习方法工具集,与数据处理相关的第三方库,http://scikit-learn.org/

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

5.2 TensorFlow

TensorFlow:AlphaGo背后的机器学习计算框架,https://www.tensorflow.org/

  • 谷歌公司推动的开源机器学习框架
  • 将数据流图作为基础,图节点代表运算,边代表张量
  • 应用机器学习方法的一种方式,支撑谷歌人工智能应用
import tensorflow as tf
init = tf.global_variables_initializer()
sess = tf.Session()
sess.run(init)
res = sess.run(result)
print('result:', res)

5.3 MXNet

MXNet:基于神经网络的深度学习计算框架,https://mxnet.incubator.apache.org/

  • 提供可扩展的神经网络及深度学习计算功能
  • 可用于自动驾驶、机器翻译、语音识别等众多领域
  • Python最重要的深度学习计算框架

六、单元小结

6.1 从数据处理到人工智能

  • Numpy、Pandas、SciPy
  • Matplotlib、Seaborn、Mayavi
  • PyPDF2、NLTK、python-docx
  • Scikit-learn、TensorFlow、MXNet

060 Python必备库-从数据处理到人工智能的更多相关文章

  1. Python必备库

    Python必备库 --default-timeout=100避免网络延迟错误:-U给管理员权限. Python基础库 pip --default-timeout=100 install -U pyg ...

  2. 063 Python必备库-从人机交互到艺术设计

    目录 一.概述 二.Python库之图形用户界面 2.1 PyQt5 2.2 wxPython 2.3 PyGObject 三.Python库之游戏开发 3.1 PyGame 3.2 Panda3D ...

  3. 062 Python必备库-从Web解析到网络空间

    目录 一.概述 二.Python库之网络爬虫 2.1 Requests 2.2 Scrapy 2.3 pyspider 三.Python库之Web信息提取 3.1 Beautiful Soup 3.2 ...

  4. 全栈Python 必备库

    强大的库: 转自:微信公众号 Python最棒的地方之一,就是大量的第三方库,覆盖之广,令人惊叹.Python 库有一个缺陷就是默认会进行全局安装.为了使每个项目都有一个独立的环境,需要使用工具vir ...

  5. [Python学习] Linux环境下的Python配置,必备库的安装配置

    1.默认Python安装情况 一般情况,Linux会预装Python的,版本较低,比如Ubuntu15的系统一般预装的是Python2.7.10. 使用命令:which python可以查看当前的py ...

  6. Python 开发者的 6 个必备库,你都了解吗?

    无论你是正在使用 Python 进行快速开发,还是在为 Python 桌面应用制作原生 UI ,或者是在优化现有的 Python 代码,以下这些 Python 项目都是应该使用的. Python那些事 ...

  7. Python 必备好库 - 好工具收藏

    apscheduler collections collections.OrderDict collections.defaultdict Python 标准库提供了 collections 模块.这 ...

  8. 8个必备的Python GUI库

    Python GUI 库有很多,下面给大家罗列常用的几种 GUI 库.下面介绍的这些GUI框架,能满足大部分开发人员的需要,你可以根据自己的需求,选择合适的GUI库. 很多人学习python,不知道从 ...

  9. python第三方库,你要的这里都有

    Python的第三方库多的超出我的想象. python 第三方模块 转 https://github.com/masterpy/zwpy_lst   Chardet,字符编码探测器,可以自动检测文本. ...

随机推荐

  1. HTML/CSS:div居中和div内部元素垂直居中(1)

    div居中 div水平和垂直居中,text-align和vertical-align不起作用,因为标签div没有这两个属性,所以再css中设置这两个值不能居中的效果 1. div水平居中:设置marg ...

  2. Mac OS 上的一些骚操作

    本帖记录个人在使用 Mac 操作系统上的一些骚操作,不断更新,以飨读者. 快速移动网页到顶部或底部 用双指上下划触摸板吗?NO,我们有更骚的操作: command + ↑ 回到顶部 command + ...

  3. Appium+python自动化(三十二)- 代码写死一时爽,框架重构火葬场 - PageObject+unittest(超详解)

    简介 江湖有言:”代码写死一时爽,框架重构火葬场“,更有人戏言:”代码动态一时爽,一直动态一直爽

  4. 论文解读2——Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition

    背景 用ConvNet方法解决图像分类.检测问题成为热潮,但这些方法都需要先把图片resize到固定的w*h,再丢进网络里,图片经过resize可能会丢失一些信息.论文作者发明了SPP pooling ...

  5. CGI getenv 参数

    变量名 描述 CONTENT_TYPE 这个环境变量的值指示所传递来的信息的MIME类型.目前,环境变量CONTENT_TYPE一般都是:application/x-www-form-urlencod ...

  6. Nacos(四):SpringCloud项目中接入Nacos作为配置中心

    前言 通过前两篇文章: Nacos(二):Nacos与OpenFeign的对接使用 Nacos(三):SpringCloud项目中接入Nacos作为注册中心 相信大家已经对Nacos作为注册中心的基本 ...

  7. Spring源码剖析6:Spring AOP概述

    原文出处: 五月的仓颉 我们为什么要使用 AOP 前言 一年半前写了一篇文章Spring3:AOP,是当时学习如何使用Spring AOP的时候写的,比较基础.这篇文章最后的推荐以及回复认为我写的对大 ...

  8. C#中的扩展方法(向已有类添加方法,但无需创建新的派生类型)

    C#中的扩展方法 扩展方法使你能够向现有类型"添加"方法,而无需创建新的派生类型.重新编译或以其他方式修改原始类型. 扩展方法是一种特殊的静态方法,但可以像扩展类型上的实例方法一样 ...

  9. WPF注册热键后处理热键消息(非winform方式)

    由于最近在做wpf版的截图软件,在处理全局热键的时候,发现国内博客使用的都是winform窗体的键盘处理方式,此方式需要使用winform的动态库,如此不协调的代码让我开始在github中寻找相关代码 ...

  10. Python利用切片操作,实现一个trim()函数,去除字符串首尾的空格,注意不要调用str的strip()方法:

    这是一个最简单的自定义函数,自己调用自己,我的理解是这样的: 1.传一个s参数进行判断,如果有空字符它会切掉前后的空字符,返回一个新的s,这个新的s还有的话会继续执行这种重复的操作,类似于递归(博主不 ...