面向数组的编程
使用 NumPy 数组能够简洁的完成多种数据处理任务,否则可能需要编写循环来处理相关任务,大大提高了数据处理的效率,一般来说,矢量化数组运算通常比纯 Python 运算要快得多。这种用数组表达式替换显式循环的做法被称为矢量化。
直接上代码举例更直观。
import numpy as np
# 生成100个等距点 结果是一个长度为1000的一维数组
points = np.arange(-5, 5, 0.01)
# 用meshgrid函数和points数组生成一个1000*1000的二位矩阵形,赋值给两个变量
xs, ys = np.meshgrid(points, points)
# 计算sqrt(x^2+ y^2)的值
z = np.sqrt(xs ** 2 + ys ** 2)
#输出结果数组
print(z)
#输出结果数组形状
print(z.shape)
输出结果:
[[7.07106781 7.06400028 7.05693985 ... 7.04988652 7.05693985 7.06400028]
[7.06400028 7.05692568 7.04985815 ... 7.04279774 7.04985815 7.05692568]
[7.05693985 7.04985815 7.04278354 ... 7.03571603 7.04278354 7.04