专注于做有价值的技术原创

0%

1. 简单介绍

行业常说的“数据分析三剑客”或者“机器学习三剑客”,指的就是 numpy(计算), matplotlib(可视化), pandas(分析) 这三个 python 库。如果拿自然科学学科类比,matplotlib 相当于“物理学”,pandas 相当于“化学”,而 numpy 就是“数学”, 是其他学科赖以立足的“基石”。

numpy 之所以是基石,是因为 numpy 为 matplotlib 和 pandas 等提供了底层数据结构和计算支持。而 numpy 核心数据结构就是多维数组(ndarray: N-dimensional array)。

阅读全文 »

1. 简单介绍

pandas 是专为 python 编程语言设计的高性能,简单易用的数据结构数据分析工具库,它建立在 numpy 之上,可以许多第三方库完美集成在同一个科学计算环境中。pandas 被广泛应用于金融,统计,社会科学和许多工程技术领域,处理典型数据分析案例。

阅读全文 »

1. 初识 OpenCv

1999年,英特尔的 Gary Bradsky 发起了 OpenCv 项目,并于 2000 年发布第一个版本。2005年,OpenCv 被首次应用在 Stanley,这也是赢得同年 DARPA 大挑战赛的车型。如今,OpenCv 除了支持计算机视觉,还增加了众多机器学习相关算法,未来还将持续扩展。

OpenCV 支持众多主流编程语言,如:C++,Python,Java 等,可在不同的平台上使用,包括 Windows,Linux,OS X,Android 和 iOS。此外,基于 CUDA 的高速 GPU 运算接口,和 OpenCL 也在开发当中。

阅读全文 »

matplotlib 是一个 python 的 2D 绘图库。大量的学术期刊,书籍出版物使用它来绘制专业的数据可视化图表。matplotlib 支持跨平台,可运行在 python 脚本,python 解释器, IPython,Jupyter notebook, web 应用服务器,以及四个 GUI(Graphical User Interface) 工具包中。使用matplotlib ,只需要几行代码,便可绘制折线图,直方图,功率谱(power spectra), 条形图,误差图,散点图等。

1. 安装

1
pip install matplotlib
阅读全文 »

和上一篇《python 图像处理类库 PIL (一)》一样,本文依然以图片 dog.jpeg 为例,演示 PIL Image 模块的实例接口。

1. 导入 Image 模块,打开 dog.jpeg 图片

1
2
3
from PIL import Image

image = Image.open("dog.jpeg")

dog.jpeg 可将此图保存到电脑,以运行本文的代码

阅读全文 »

os 顾名思义,就是与操作系统相关的标准库。如:文件,目录,执行系统命令等。

1. 导入模块

os 是 python 标准库模块,随 python 一起安装,无需单独安装,可直接导入。

1
import os

2. path 子模块

涉及与磁盘文件操作,最常使用的当属 path 模块了。pathos 的子模块,可以通过 from os import path 使用,也可以直接通过 os.path 属性的方式使用。本文,为了保持一致性,统一采用后者的书写形式。

阅读全文 »

PIL(Python Imaging Library,图像处理类库) 提供了通用的图像处理功能,以及大量有用的基本图像操作,比如:打开显示,灰度转换,图像缩放,旋转,裁剪等。本文并包含 PIL 所有功能模块的讲解,而是从实用角度给出最常用的方法。要获取 PIL 所有功能模块的文档,可参考文末给出的链接。

1. 安装

1
pip install Pillow
阅读全文 »

在数据分析,数据清洗,数据集处理中,除了使用,我们熟悉的 numpy.random 模块来生成随机数,或者随机采样,事实上,python 标准库也提供了 random 模块,如果不想,仅仅因为使用随机数,而单独导入 numpy 时,标准库提供的 random 模块,不失为一种,轻量级替代方案,并且两者使用起来几乎一样。

1. 导入模块

random 是 python 标准库模块,随 python 一起安装,无需单独安装,可直接导入。

1
import random
阅读全文 »

1. .jpg, .png, .gif

说到图片,我们首先会想到,几种常见图片格式,如:.jpg, .png, .gif 等。

但当我门在说图片的格式时,除了在说图片文件的后缀不同,还有什么不同呢?

事实上,图片的格式,在技术上,是指图片所遵循的压缩标准。更准确地说,是数字图像的压缩标准(计算机上的图片都是数字图像,即由 0 和 1 构成的二进制数字图像文件)。

可能会有人不明白,为什么图片的格式是压缩标准? 图片为什么要压缩? 难道存储在我们个人电脑的图片都是压缩的?

没错,不管是存储在我们个人电脑,手机,还是在网络上图片其实都是经过压缩后的图片数据。

那么,压缩前的原始图像数据又是什么样的? 以及为什么要对图像进行压缩?

2. 原始图像数据

不管是什么格式,或采用什么样的压缩标准,原始的图像数据其实都是一样的,而且也符合我门直观的理解。

例如,一张 4 × 4 (宽度和高度都是 4 个像素)的彩色图片,未压缩的的原始图像数据,就是一个 4 × 4 矩形网格,每一个网格代表一个像素。

而彩色图片的每一个像素,又是由 红,绿,蓝 三基色构成,如下图右边所示,红绿蓝,对应于 r g b 三个数值,也就是我常说的 RGB 色彩模式。

4乘4 彩色图片,这里进行了放大处理,右边和左边是同一张图,为像素标注了 RGB 数值

阅读全文 »