python之numpy学习笔记

PYTHON numpy通用计算函数

  • 通用函数,就是能同时对元素内所有元素逐个进行运算的函数,例如[1,2,3,4]4,可以每个元素都4;
  • 虽然用for循环也可以做到同样的效果,使用numpy则会更快;
  • numpy,scipy.special;
  • 符号:+、-、-、*、/、//、**、%、absolute(abs)均为通用计算符号,三角函数(sin, cos, tan)与反三角函数也可(arcsin. arccos, arctan)
    - +: np.add
    - -: np.subtract
    - -: np.negative
    - *: np.multiply
    - /: np.divide
    - //: np.floor_divide
    - **: np.power
    - %: np.mod
    - absolute(abs): 两用途,一是处理复数的时候,可以得到复数的幅度;第二用途就是取绝对值。

掩码操作

python之numpy学习笔记_第1张图片

先判断a是否小于50,会返回true/false,然后再在a里面返回true的值。

指定输出

python之numpy学习笔记_第2张图片

隔数插入

外积

np.multiply.outer(a, b)

python之numpy学习笔记_第3张图片

聚合操作

聚合可以直接作用在数组上,直接使用numpy.xxx调用,除了any 和 all之外,每个函数都存在一个NaN安全的版本(即存在np.nansum(), numpy中需要加上nan来保证nan安全,而在pandas里面,全部默认nan安全)。

  • np.sum:速度比python块,可设置维度
  • np.prod:积
  • np.mean
  • np.std
  • np.var: 方差
  • np.min
  • np.max
  • np.argmin
  • np.argmax
  • np.median
  • np.percentile(a, q, axis): 基于元素排序的统计值,a为输入,q为要计算的百分位数,axis为需要沿着计算百分位的数轴,二维取值为0,1
  • np.any: 是否至少存在一个为真的元素
  • np.all:所有元素是否为真

适用通用函数的聚合

  • reduce: 作用在每一个函数然后聚合成一个值;
  • accumulate:作用一样,但是会生成中间值。
    -python之numpy学习笔记_第4张图片

广播

广播与通用函数的概念差不多。
python之numpy学习笔记_第5张图片python之numpy学习笔记_第6张图片

规则:

  1. 如果两个数组维度不同,在最小维度的数组形状最左边补上1.
  2. 如果两数组形状在任一维度都不匹配, 则数组的形状会沿着维度为1的维度拓展以匹配零位一个数组。
  3. 如果两个数组在任一维度在任何一个维度都不匹配并且没有任何一个维度等于1,则异常。

索引

python之numpy学习笔记_第7张图片

python之numpy学习笔记_第8张图片

更为骚的索引
python之numpy学习笔记_第9张图片
骚爆的索引结合掩码,骚不骚
python之numpy学习笔记_第10张图片

数组的排序

  • 数组默认为快排
  • 可选其他方式排序
  • 可选axis

sort

python之numpy学习笔记_第11张图片

python之numpy学习笔记_第12张图片

argsort

返回排序完的index
python之numpy学习笔记_第13张图片

分隔

python之numpy学习笔记_第14张图片

结构化数据

你可能感兴趣的:(machine,learning,math)