Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 打印PMF jupyter笔记本:值错误:形状不匹配:无法将对象广播到单个形状_Python_Matplotlib_Jupyter Notebook_Probability - Fatal编程技术网

Python 打印PMF jupyter笔记本:值错误:形状不匹配:无法将对象广播到单个形状

Python 打印PMF jupyter笔记本:值错误:形状不匹配:无法将对象广播到单个形状,python,matplotlib,jupyter-notebook,probability,Python,Matplotlib,Jupyter Notebook,Probability,目前正在进行一项任务,该任务要求我将概率质量函数绘制成图形。质量函数是关于一枚有偏的硬币被抛三次: P(H) = 0.75 P(T) = 0.25 X = 0,1,2,3 F(0) = P(X=0) = P(t,t,t) = 0.015625 F(1) = P(X=1) = P(h,t,t) + P(t,h,t) + P(t,t,h) = ‬0.140625 F(2) = P(X=2) = P(h,h,t) + P(h,t,h) + P(t,h,h) = 0.421875 F(3) = P(X=

目前正在进行一项任务,该任务要求我将概率质量函数绘制成图形。质量函数是关于一枚有偏的硬币被抛三次:

P(H) = 0.75
P(T) = 0.25
X = 0,1,2,3
F(0) = P(X=0) = P(t,t,t) = 0.015625
F(1) = P(X=1) = P(h,t,t) + P(t,h,t) + P(t,t,h) = ‬0.140625
F(2) = P(X=2) = P(h,h,t) + P(h,t,h) + P(t,h,h) = 0.421875
F(3) = P(X=3) = P(h,h,h) = 0.421875
当我使用以下代码绘制这些点时

import matplotlib.pyplot as plt

prob = np.array([0,0.015625,0.140625,0.421875,0.421875])
x = np.arange(0,3)
plt.bar(x,prob, width = 0.5)
plt.xlim(0.5,3.5)
plt.show()
我遇到了以下错误:

ValueError: shape mismatch: objects cannot be broadcast to a single shape

x
数组的形状必须与
prob
数组的形状匹配。我可以提出以下建议:

import matplotlib.pyplot as plt

prob = np.array([0.015625,0.140625,0.421875,0.421875])
x = np.arange(4)
plt.bar(x, prob, width = 0.5)
plt.xticks(x)
plt.xlim(-0.5,3.5)
plt.show()

prob
中有5个元素,在
x
中有3个元素。如果两个数组中的元素数量不同,Python无法绘制图表。由于prob中有5个元素,因此需要在x轴上有5个记号才能绘制条形图


x=np.arange(0,3)
更改为
x=np.arange(0,5)
plt.xlim(0.5,3.5)
更改为
plt.xlim(0.5,4.5)
,你应该得到图。

这样一个可以避免的错误就在我眼前!谢谢你们的帮助,伙计们,我想我需要刷新一下我的眼睛LOL如果我要绘制CDF的累积分布频率图CDF=X<0=0 xH我该怎么做?我会看看numpy
cumsum
函数,我想你可以用它来建立你所需要的hi是的,我现在有这个代码,只是想知道我如何绘制一个CDF图,并得到x的期望值。谢谢,不敢相信我没有注意到!