Numpy
作者:PureFFFmennory
对象类型:ndarry
上一节:4.2 快速创建数组
PureFFFmennory:《Python for Data Analysis 2nd》学习笔记Chapter 4-4.2zhuanlan.zhihu.com![91a128468ff71a7d81140f8dcf16afac.png](https://i-blog.csdnimg.cn/blog_migrate/777051eeae16713767adaeec474fd714.jpeg)
4.3 使用向量计算代替数组
使用Numpy数组,可以将许多类型的数据处理任务表达为简洁的数组表达式,从而免除了复杂的循环逻辑。该种数组表达式替换循环的做法通常被称为向量运算。通常,向量运算操作的速度比纯Python等效运算要快一到两(或更多)个数量级,在处理庞大的数据时,他们的差异是显著的。
作为一个简单的示例,假设我们希望在一个常值网格中计算$sqrt{x^2+y^2}$。np.meshgrid函数被传入用两个一维数组,并生成两个二维数组,对应于两个数组中的(x, y):
>> points = np.arange(-5, 5, 0.01) # 生成1000个等间距的点
>> xs, ys = np.meshgrid(points, points) # 生成两个二维网格
>> z = np.sqrt(xs ** 2, ys ** 2) # 计算函数表达式
我们利用matplotlib(后文将细述)创建该二维数组的可视化效果:
>> import matplotlib.pyplot as plt
>>
>> plt.imshow(z, cmap=plt.cm.gray)
>> plt.colorbar()
# 显示输出:<matplotlib.colorbar.Colorbar at 0x7f715e3fa630>
>> plt.title("Image plot of $sqrt{x^2 + y^2}$ for a grid of values")
# 显示输出:<matplotlib.text.Text at 0x7f715d2de748>