前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python中NumPy的矢量运算

python中NumPy的矢量运算

作者头像
多凡
发布2019-11-01 09:20:46
9240
发布2019-11-01 09:20:46
举报
文章被收录于专栏:sringbootsringboot

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/weixin_44580977/article/details/101981194

接下来了解下矢量运算的能力, 矢量的特性可以理解为并行化的运算, 也就是说在对数组执行复杂计算时会作用到元素级别, 这样仅仅用简洁的表达式就可以代替Python的for循环。

我们先使用NumPy的random.normalvariate()生成一个平均收盘股价为10元(即期望为10),振幅为1元(即标准差为1),样本数量为1000的正态分布随机数组,如下所示:

代码语言:javascript
复制
stock_data = np.random.normal(loc=10.0, scale=1.0, size=1000)
print("stock_data:\n {}".format(stock_data))
"""
stock_data:
[10.78547256  9.76528172  9.22565839  9.88816694  9.98375121  8.82134049
 10.35872851  9.47037456 10.10779769  8.90763374  9.87537764 10.19336141
 10.23045668  9.56778185  .......  11.52876708  9.31758815  9.92082024]
"""

我们规整化所有浮点型随机数据的精度,以便于后续显示和运算。此处使用np.around()方法将所有数据保留2位小数,由于矢量运算的能力,此处仅需一行代码就可实现,如下所示:

代码语言:javascript
复制
stock_data = np.around(stock_data,2)#保留2位小数
print("stock_data:\n {}".format(stock_data))
"""
stock_data:
[11.97  9.34 12.14 11.28 11.7   8.65  8.81  8.63 11.93  9.48  8.93  9.83
 10.54  9.38 10.93  9.09 10.4   9.88 10.35 11.67  7.97 12.19 10.1  11.22
  9.85 10.91 10.38  9.16  9.46  ...... 10.02  9.27 11.2   9.4   9.83  8.99]
"""

还有其他方法 np.roll()为循环右移 第一个值需要设置为无效值np.nan np.roll(stock_data,1)

NumPy中的ndarray类,可以更加简洁的进行 矢量算术运算,并且在处理多维的大规模数组时快速且节省空间。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-10-03 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档