图解 | NumPy可视化指南


NumPy是一个广泛适用的Python数据处理库,pandasOpenCV等库都基于numpy。同时,在PyTorchTensorFlowKeras等深度许欸小框架中,了解numpy将显著提高数据共享和处理能力,甚至无需过多更改就可以在GPU运行计算。

n维数组是NumPy的核心概念,这样的好处,尽管一维和而为数组的处理方式有些差异,但多数不同维数组的操作是一样的。本文将对以下三个部分展开介绍:

  1. 向量——一维数组

  2. 矩阵——二维数组

  3. 3维及更高维数组

本文受JayAlammar的文章“ A Visual Intro to NumPy”的启发,并对其做了更详细丰富的介绍。


numpy数组 vs. Python列表

乍看上去,NumPy数组与Python列表极其相似。它们都用来装载数据,都能够快速添加或获取元素,插入和移除元素则比较慢。

当然相比python列表,numpy数组可以直接进行算术运算:

图解 | NumPy可视化指南

除此之外,numpy数组还具有以下特点:

  • 更紧凑,高维时尤为明显

  • 向量化后运算速度比列表更快

  • 在末尾添加元素时不如列表高效

  • 元素类型一般比较固定