Python 有100个左右的概率(float),如何按每0.1差值制作频率分布直方图(0-0.1,0.1-0.2等等)?
答案:1 悬赏:40 手机版
解决时间 2021-11-26 14:27
- 提问者网友:战皆罪
- 2021-11-26 05:13
Python 有100个左右的概率(float),如何按每0.1差值制作频率分布直方图(0-0.1,0.1-0.2等等)?
最佳答案
- 五星知识达人网友:由着我着迷
- 2021-11-26 06:14
画图需要引入额外的包,不过只是计算出十个数值还是很简单。
假设原始的概率值存在数组p中 例如 p = [0.05, 0.31, ...]
x = [0.0] * 10 # 初始化10个区间
LL = 0 # 有效数据个数
for y in p:
if p < 0 || p >= 1: # 跳过非法值
continue
LL += 1;
x[int(10 * y)] += 1.0
x = [y/LL for y in x] # 频数->频率追问我明白你的逻辑了,谢谢!不过感觉这是C语言不是Python吧。顺便再问下哈,我已经引入了matplotlib包,有什么简单的画图命令来解决这种情况么?追答不知道题主是怎么以为这是C语言的。。无语。。。
画图命令 示例
import matplotlib.pyplot as plt
x = [1.0*y/10 for y in range(9)]
z = x
plt.plot(x,z)
plt.show()
假设原始的概率值存在数组p中 例如 p = [0.05, 0.31, ...]
x = [0.0] * 10 # 初始化10个区间
LL = 0 # 有效数据个数
for y in p:
if p < 0 || p >= 1: # 跳过非法值
continue
LL += 1;
x[int(10 * y)] += 1.0
x = [y/LL for y in x] # 频数->频率追问我明白你的逻辑了,谢谢!不过感觉这是C语言不是Python吧。顺便再问下哈,我已经引入了matplotlib包,有什么简单的画图命令来解决这种情况么?追答不知道题主是怎么以为这是C语言的。。无语。。。
画图命令 示例
import matplotlib.pyplot as plt
x = [1.0*y/10 for y in range(9)]
z = x
plt.plot(x,z)
plt.show()
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯