numpy

    NumPy(Numerical Python) 是Python语言的一个扩充库。支持高级大量的纬度数组与矩阵运算,此外也针对数组运算提供大量的数据函数库。

ndarray类

    NumPy中的数组类被成为ndarray,要注意的是numpy.array与Python标准库中的array.array是不同的。ndarray具有如下比较重要属性:

ndarray.ndim

    ndarray.ndim表示数组的纬度

ndarray.shape是一个整型tuple,用来表示数组中的每一个纬度大小。

ndarray.size表示数组中元素个数,其值等于shape中所有整数的乘积。

ndarray.dtype 用来描述数组中元素的类型,ndarray中的所有元素必须是同一类型,如果在构造数组时,传入参数不是同一类型的,不同的类型将进行统一转化。除了标准的Python类型外,NumPy额外提供了一些自有的类型,如numpy.int32,numpy.int16,numpy.float64等

NumPy中创建数组的方式有若干中,最简单的,可以直接利用的是常规的list和tuple进行创建

基本操作

除了上述一元方法以外,NumPy还提供了操作数组中特定行和列的一元方法,通过制定不同的axis来实现。

通用方法

    NumPy提供了大量的通用数学和算术方法,比如常见的sincos、具体可以参考如下:

数组索引和迭代

    与Python中定义的list一样,NumPy支持一维数组的索引、切片和迭代。

    多维数组与一维数组相似,其在每个轴上都有一个对应的索引(index),这些索引是在一个逗号分隔的元组(tuple)中给出的。

NumPy功能和方法预览

数组创建

arange, array, copy, empty, empty_like, eye, fromfile, fromfunction, identity, linspace, logspace, mgrid, ogrid, ones, ones_like, r, zeros, zeros_like

数组转换

ndarray.astype, atleast_1d, atleast_2d, atleast_3d, mat

操作

array_split, column_stack, concatenate, diagonal, dsplit, dstack, hsplit, hstack, ndarray.item, newaxis, ravel, repeat, reshape, resize, squeeze, swapaxes, take, transpose, vsplit, vstack

问题

all, any, nonzero, where

排列

argmax, argmin, argsort, max, min, ptp, searchsorted, sort

运算

choose, compress, cumprod, cumsum, inner, ndarray.fill, imag, prod, put, putmask, real, sum

基础统计

cov, mean, std, var

基本线性代数

cross, dot, outer, linalg.svd, vdot

NumPy 包含大量的各种数学运算的函数,包括三角函数,算术运算的函数,复数处理函数等。

NumPy 算术函数包含简单的加减乘除: add()subtract()multiply() 和 divide()

需要注意的是数组必须具有相同的形状或符合数组广播规则。

NumPy 统计函数

NumPy 提供了很多统计函数,用于从数组中查找最小元素,最大元素,百分位标准差和方差等。 函数说明如下:

numpy.amin() 和 numpy.amax()

numpy.amin() 用于计算数组中的元素沿指定轴的最小值。

numpy.amax() 用于计算数组中的元素沿指定轴的最大值。

均值、中数、中位数、期望、标准差、方差

NumPy 排序、条件刷选函数

NumPy 提供了多种排序的方法。 这些排序函数实现不同的排序算法,每个排序算法的特征在于执行速度,最坏情况性能,所需的工作空间和算法的稳定性。 下表显示了三种排序算法的比较。

种类速度最坏情况工作空间稳定性
'quicksort'(快速排序)1O(n^2)0
'mergesort'(归并排序)2O(n*log(n))~n/2
'heapsort'(堆排序)3O(n*log(n))0

numpy.sort()

numpy.sort() 函数返回输入数组的排序副本。函数格式如下:

numpy.sort(a, axis, kind, order)

参数说明:

  • a: 要排序的数组
  • axis: 沿着它排序数组的轴,如果没有数组会被展开,沿着最后的轴排序, axis=0 按列排序,axis=1 按行排序
  • kind: 默认为'quicksort'(快速排序)
  • order: 如果数组包含字段,则是要排序的字段

 

作者:圈圈_Master
链接:https://www.jianshu.com/p/a260a8c43e44
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

转载于:https://my.oschina.net/u/3955849/blog/2996483

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值