数组中的一替换为2 python_Numpy_快速操作数组 4.3 使用向量计算

本文介绍了如何使用Numpy进行向量运算,以提高数据处理速度。通过np.meshgrid创建二维数组并进行可视化,利用np.where实现条件逻辑的数组操作,简化了对布尔和数值数组的处理。此外,还讨论了数组的数学和统计方法,如mean、sum、cumsum,以及排序、unique和集合操作,提供了数组操作的高效解决方案。
摘要由CSDN通过智能技术生成

Numpy

作者:PureFFFmennory

对象类型:ndarry

上一节:4.2 快速创建数组

PureFFFmennory:《Python for Data Analysis 2nd》学习笔记Chapter 4-4.2​zhuanlan.zhihu.com
91a128468ff71a7d81140f8dcf16afac.png

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>

在这里,我使用matplotlib函数imshow从二维数组的函数值创建图像绘图。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值