Numpyweb服务器

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(数组)代表,保留原来数组中的元素。用于只对满足条件或不满足条件的数组元素进行操作。

上一篇下一篇

猜你喜欢

热点阅读