NumPy(利用数组进行数据处理)
2018-11-10 本文已影响2人
GHope
用数组表达式代替循环的做法,通常被称为矢量化。一般来说,矢量化数组运算要比等价的纯Python方式快上一两个数量级(甚至更多)。
假设我们想要在一组值(网格型)上计算函数sqrt(x^2+y^2)
np.meshgrid函数接受两个一维数组,并产生两个二维矩阵(对应于两个数组中所有的(x,y)对)
矢量化matplotlib创建了这个二维数组的可视化
代码执行 可视化效果将条件逻辑表述为数组运算
数据准备当cond中的值为True时,选取xarr的值,否则从yarr中选
表述示例假设有一个由随机数据组成的矩阵,你希望将所有正值替换为2,将所有负值替换为-2。
根据数值正负替换指定值用常数2替换arr中所有正的值
替换正值NumPy中where的用法,再判断条件之后第一个参数赋给满足表达式的数组元素,第二个参数赋给不满足表达式的数组元素。如果不指定特殊参数,则用arr(数组)代表,保留原来数组中的元素。用于只对满足条件或不满足条件的数组元素进行操作。