通过前面对NumPy的学习,相信大家一定对NumPy这个科学计算包有了一定的了解,接下来,本节将通过酒鬼漫步的案例来介绍如何运用NumPy随机数模块与数据处理。

  下面先为大家描述一下场景,在一片空旷的平地上(一个二维地面上)有一个酒鬼,他最初停留在原点的位置,这个酒鬼每走一步时,方向是不确定的,在经过时间t之后,我们希望计算出这个酒鬼与原点的距离。

  例如,这个酒鬼走了2000步(每步为0.5米),向前走一步记为1,向后走一步记为-1,当计算距原点的距离时,就是将所有的步数进行累计求和。因此,使用random模块来随机生成2000个“掷硬币值”(两个结果任选一个),具体代码如下:

导入numpy包
import numpy as np
steps=2000
draws=np.random.randint(0, 2, size=steps)
# 当元素为1时,direction_steps为1,
# 当元素为0时,direction_steps为-1
direction_steps=np.where(draws>0, 1, -1)
# 使用cumsum()计算步数累计和
distance=direction_steps.cumsum()

  有了步数的累计和之后,可以尝试计算酒鬼距离原点最远的距离,即分别调用max()与min()计算向前走与向后走的最大值,具体代码如下。

In [141]: # 使用max()计算向前走的最远距离distance.max()
Out[141]: 12
In [142]: # 使用min()计算向后走的最远距离distance.min()
Out[142]: -31

  从两次输出的结果中可以看出,这个酒鬼走的最远的距离是朝后方距离原点15.5(31×0.5)米的位置。值得一提的是,由于这里使用的是随机数,所以每次运行的结果是随机的。

  当酒鬼距原点的距离大于或等于15米时,如果希望计算他总共走了多少步,则可以使用数学方程“|x×0.5|≥15”完成,其中x表示步数。要想计算一个数的绝对值,则需要调用abs()函数实现,不过该函数返回的是一个布尔数组,即不满足条件的值均为False,满足条件的值均为True。为了从满足条件的结果中返回最大值的索引,则还需要通过调用argmax()方法来实现,具体代码如下。

In [143]: # 15米换算成步数steps=15/0.5(np.abs(distance)>=steps).argmax()
Out[143]: 877

  从计算结果可以看出,当酒鬼走到877步时,此时距离原点的长度是大于或等于15米的。

科学计算库NumPy案例:酒鬼漫步相关推荐

  1. Python大数据教程:科学计算库NumPy案例之酒鬼漫步

    通过前面对NumPy的学习,相信大家一定对NumPy这个科学计算包有了一定的了解,接下来,本节将通过酒鬼漫步的案例来介绍如何运用NumPy随机数模块与数据处理. 下面先为大家描述一下场景,在一片空旷的 ...

  2. 唐宇迪学习笔记1:Python环境安装、Pytho科学计算库——Numpy

    目录 一.AI数据分析入门 ​1.案例来源 2.Python环境配置(Python3) Python的安装 Python库安装工具 Jupyter Notebook 二.Python科学计算库--Nu ...

  3. numpy不用科学记数发 python_Python科学计算库Numpy常用的函数使用

    林小森博客: Python科学计算库Numpy常用的函数使用 - 林小森​www.linxiaosen.com Numpy具有强大的计算功能,本文介绍Numpy常用的函数,可以有效的提高工作效率. 首 ...

  4. AI常用框架和工具丨1. 科学计算库NumPy

    科学计算库NumPy,AI常用框架和工具之一.理论知识结合代码实例,希望对您有所帮助. 文章目录 环境说明 一.NumPy简介 二.数组 2.1 NumPy数组的优势 2.2 ndarray对象 2. ...

  5. python矩阵运算法则_导数与梯度、矩阵运算性质、科学计算库numpy

    一.实验介绍 1.1 实验内容 虽然在实验一中我想尽量少的引入(会让人放弃继续学习的)数学概念,但我似乎还是失败了.不过这几乎是没有办法的事,要想真正学会深度学习,没有一定的数学基础(高等数学.线性代 ...

  6. 一文带你熟悉简单实用的Python科学计算库NumPy

    Python科学计算库NumPy 安装 数组的创建 array创建 **arange** 创建 **随机数创建** 方法numpy.random.random(size=None) 方法numpy.r ...

  7. Python 科学计算库 Numpy 准备放弃 Python 2 了

    Numpy 是 Python 的一个科学计算库,提供了矩阵运算的功能,一般与 Scipy.matplotlib 一起使用. 今天 Numpy 的 GitHub 主页上发文称,Numpy 库准备从 20 ...

  8. 机器学习——科学计算库(Numpy,Matplotlib,Pandas)

    机器学习--科学计算库中主要介绍的内容是人工智能深度学习过程常用的几个python库,主要有Numpy,Matplotlib,Pandas等,具体如下所示 在学习的过程中,我也从网上借鉴了多位大佬的优 ...

  9. python科学计算库numpy和绘图库PIL的结合,素描图片(原创)

    # 导入绘图库 from PIL import Image #导入科学计算库 import numpy as np #封装一个图像处理工具类 class TestNumpy(object):def p ...

最新文章

  1. 边缘检测、Hough变换、轮廓提取、种子填充、轮廓跟踪
  2. 在状态栏中插入类似进度条的可视控件
  3. Kruskal Prim模板
  4. 今天,送你一份交通行业最全数据集(共享单车、自动驾驶、网约出租车、交通信号识别)
  5. asp.net 用正则表达式过滤内容中的电话,qq,email
  6. 高斯牛顿法 matlab代码实现
  7. react-navigation createBottomTabNavigator 刷新问题
  8. Nodejs+express+vue网上零食购物网站系统
  9. 计算机控制的行业规模,2019年中国DCS控制系统行业市场现状及竞争格局分析,内资“两家独大”「图」...
  10. 使用java 语言 提取excel 中的手机号码,xls 格式以及xlsx 格式的excel 文件
  11. 简单使用Jconsole
  12. 专升本高等数学考试知识点汇总(二)
  13. DAC904硬件电路
  14. 飞思卡尔16位单片机(十四)—— CAN总线模块测试
  15. 怎么调整计算机安全等级,win10电脑怎么设置安全等级_win10电脑设置安全等级的方法 - 系统家园...
  16. 【渝粤教育】 广东开放大学21秋期末考试刑事诉讼法学10228k2
  17. GridView数据库分页+自定义分页导航(二):自定义分页导航。首页、上一页、下一页、尾页和跳转
  18. window8 添加美式键盘
  19. yolov7 姿态识别-人体骨架-实时检测+实例分割
  20. 刷脸支付赋予日常场景更多的功能和应用

热门文章

  1. Unity协程那些事儿
  2. 绝缘监测系统设备解决方案在工厂的研究应用-船舶电力系统
  3. Canopus ProCoder 参数设置详解
  4. labview虚拟心电监测系统_自动化学院师生在第五届江苏省智能(虚拟)仪器竞赛中取得佳绩...
  5. linux续行符号,51CTO博客-专业IT技术博客创作平台-技术成就梦想
  6. zookeeper动态重配置操作
  7. SPRT-Sequential Probability Ratio Test
  8. 华为近场通讯nfc在哪里打开_NFC近场通讯简单介绍
  9. jsmpeg+websocket 播放单个或多个直播视频rtsp协议低延迟视频方案源码
  10. 自己做一个桌面截图工具