下面是一些有用的NumPy函数和方法名称的列表,这些名称按类别排序。如果你的目标是将来做算法相关工作,想写出高性能的代码,或者目前工作中对算法的求解时间要求苛刻,那么熟练使用这些方法便很有必要。最好知道每个方法的计算复杂度,根据具体问题定制选择某个特定的方法。
1 数组创建
arange, array, copy, empty, empty_like, eye, fromfile, fromfunction, identity, linspace, logspace, mgrid, ogrid, ones, ones_like, r_, zeros, zeros_like
2 转换
ndarray.astype, atleast_1d, atleast_2d, atleast_3d, mat
3 操纵
array_split, column_stack, concatenate, diagonal, dsplit, dstack, hsplit, hstack, ndarray.item, newaxis, ravel, repeat, reshape, resize, squeeze, swapaxes, take, transpose, vsplit, vstack
4 判断
all, any, nonzero, where
5 排序
argmax, argmin, argsort, max, min, ptp, searchsorted, sort
6 操作
choose, compress, cumprod, cumsum, inner, ndarray.fill, imag, prod, put, putmask, real, sum
7 基本统计
cov, mean, std, var
8 基本线性代数
cross, dot, outer, linalg.svd, vdot
有目共睹,NumPy包里的方法性能是很高的,一般比我们自己实现的要高效很多。
接下来,我们按照以上8个维度,结合工作中实际使用场景,共同讨论它们的高效使用之道。