2.2 高级Numpy

作者: Pauli Virtanen

Numpy是Python科学工具栈的基础。它的目的很简单:在一个内存块上实现针对多个物品的高效操作。了解它的工作细节有助于有效的使用它的灵活性,使用有用的快捷键,基于它构建新的工作。

这个指南的目的包括:

  • 剖析Numpy数组,以及它的重要性。提示与技巧。
  • 通用函数:什么是、为什么以及如果你需要一个全新的该做什么。
  • 与其他工具整合:Numpy提供了一些方式将任意数据封装为ndarray,而不需要不必要的复制。
  • 新近增加的功能,对我来说他们包含什么:PEP 3118 buffers、广义ufuncs, …

先决条件

  • Numpy (>= 1.2; 越新越好…)
  • Cython (>= 0.12, 对于Ufunc例子)
  • PIL (在一些例子中使用)

在这个部分,numpy将被如下引入:

In [2]:

  1. import numpy as np

章节内容

  • ndarry的一生
    • 它是…
    • 内存块
    • 数据类型
    • 索引体系:strides
    • 剖析中的发现
  • 通用函数
    • 他们是什么?
    • 练习:从零开始构建一个ufunc
    • 答案:从零开始构建一个ufunc
    • 广义ufuncs
  • 协同工作功能
    • 共享多维度,类型数据
    • 旧的buffer协议
    • 旧的buffer协议
    • 数组接口协议
  • 数组切片:chararraymaskedarraymatrix
    • chararray:向量化字符操作
    • masked_array 缺失值
    • recarray:纯便利
    • matrix:便利?
  • 总结
  • 为Numpy/Scipy做贡献
    • 为什么
    • 报告bugs
    • 贡献文档
    • 贡献功能
    • 如何帮忙,总的来说