首页 > 编程知识 正文

python 矢量运算,numpy 运算符

时间:2023-05-04 07:15:08 阅读:225650 作者:3817

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

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

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位小数,由于矢量运算的能力,此处仅需一行代码就可实现,如下所示:

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类,可以更加简洁的进行
矢量算术运算,并且在处理多维的大规模数组时快速且节省空间。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。