Python数据处理——数据可视化(随机漫步)

需求分析:

1、数据从0开始,每次步长为 1 或 -1,随机漫步100次,统计每次累计的步数。
2、统计本次随机漫步的累计步数最小值和最大值。
3、设置临界值为5,分析出第一次到达临界值(正负5均可)的步数

扩展需求:

使用matplotlib绘制折线图,对数据进行可视化显示。

技术分析:

1、使用normal生成标准的正态(高斯)分布的样本值。
2、使用np.where实现数据转化。
3、使用min、max、cumsum、argmax统计函数进行数据分析。
4、使用matplotlib模块进行可视化呈现。

代码实现
import numpy as np
import matplotlib.pyplot as plt

'''步骤1:生成样本数据'''
# 设置漫步步数为100
nsteps = 1000
# 产生正态(高斯)分布的样本值100个
draws = np.random.normal(0, 2, size=nsteps)
print(draws)

'''步骤2:数据转化'''
# 使用条件逻辑表述重置数据元素值
steps = np.where(draws > 0, 1, -1)
print(steps)

'''步骤3:统计'''
# 统计每次漫步累计的总步伐个数100个
walk = steps.cumsum()
print(walk)

# 漫步累计最大步数
print('steps.max:>', walk.max())
# 漫步累计最小步数
print('steps.min:>', walk.min())

# 第一次达到临界值积累正负10步的步数
print((np.abs(walk) >= 5).argmax())

'''步骤4:可视化呈现'''
# 创建x轴坐标值
x = np.array(np.arange(nsteps))
# 创建y轴坐标值
y = walk
# 绘制一张图
plt.figure()
# 设置x轴和y轴的数据
plt.plot(x, y, label='max:')
# 设置图标标题
plt.title('Random walk +1/-1 steps(Chinasofti CTO data)')
# 设置x轴标注文字
plt.xlabel('step(s)')
# 设置y轴标注文字
plt.ylabel('sum(walk)')
# 显示图标,.savefig('xxx,jpg')保存图标图片
plt.show()

效果展示:

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值