gpt4 book ai didi

Python seaborn.distplot 返回计数而不是概率

转载 作者:太空宇宙 更新时间:2023-11-03 20:04:59 24 4
gpt4 key购买 nike

我有一个pandas系列x:

0      -0.000069
1 -0.000059
2 -0.000025
3 -0.000021
4 -0.000021
...
1036 0.000032
1037 0.000033
1038 0.000052
1039 0.000055
1040 0.000092
Name: c, Length: 1041, dtype: float64

我想用直方图绘制概率密度函数,其中我使用了seaborn.distplot:

import matplotlib.pyplot as plt
import seaborn as sns

sns.distplot(x, hist=True, kde=True, bins=100,
hist_kws={'edgecolor':'black', 'color': 'r'},
kde_kws={'linewidth': 1, 'color': 'b'})

plt.xlim(-0.00002, 0.00002)
plt.ylim(ymin=0)
plt.xlabel("x")
plt.ylabel("probability")
plt.ticklabel_format(style='sci', axis='x', scilimits=(0,0))

plt.show()

结果,我得到下图:

enter image description here

如图所示,垂直轴代表计数,但我想要的是(并且从该代码中预期的)概率。我很困惑,因为相同的代码适用于另一个 pandas 系列。例如,使用具有不同系列(和不同标签等)的相同代码,我能够生成以下正确的图形:

enter image description here

知道为什么这段代码不适用于我的第一个系列和/或可能的解决方案吗?

最佳答案

可以说,“问题”是您将 y 轴标记为“概率”,但它不是概率。概率是曲线下的面积(等于 1)。

在您的第一个图中,您的密度非常大,但 x 值非常小,因此两者的乘积在概率上保持一致。请参阅probability density function了解更多信息。

关于Python seaborn.distplot 返回计数而不是概率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59016838/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com