后端程序员之路 14、NumPy

时间:2023-02-11 10:28:22

NumPy — NumPy
http://www.numpy.org/

NumPy-快速处理数据 — 用Python做科学计算
http://old.sebug.net/paper/books/scipydoc/numpy_intro.html

NumPy弥补了python的list性能不足、array不支持多维而且没有运算函数这两个缺点。

ndarray(N-dimensional array object)
1、支持多维
2、通过shape和reshape来获取和修改数组的每个轴的大小
3、有arange、linspace、logspace、fromstring、fromfunction等多种创建方法

ufunc(universal function object)
1、是一种能对数组的每个元素进行操作的函数
2、内置的ufunc很多都是c实现的,所以速度很快

matrix矩阵
1、类似于matlab里的matrix
2、有一个线性代数子库linalg

再回头看上一批文章里对NumPy的使用,会有更好的认识

    numSamples = dataSet.shape[0]
    diff = numpy.tile(newInput, (numSamples, 1)) - dataSet
    squaredDiff = diff ** 2
    squaredDist = numpy.sum(squaredDiff, axis = 1)
    distance = squaredDist ** 0.5
    sortedDistIndices = numpy.argsort(distance)