从csv数据帧绘制列泊松分布的PMF

2024-09-29 21:56:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试完成一个函数的编写板条函数绘制泊松分布的pmf。在

我是个初学者,我不知道怎么做板条即使在看了https://pythonspot.com/matplotlib-bar-chart之后也能工作

def plot_poisson(df, col='open', n_pts=100):
fig, ax = plt.subplots(figsize=(10, 5))
plt.bar
plt.xlabel("X")
plt.ylabel("P(X|\mu)")
plt.title("Poisson PMF")
return ax

Tags: 函数httpscommatplotlibdefchart绘制bar
1条回答
网友
1楼 · 发布于 2024-09-29 21:56:19

因此,如果我理解正确,您想从Poisson分布中画出n_pts个数,其每个间隔的平均事件数等于数据的平均值(来自dataframe列)。
然后你要绘制分布图。在

如果是这样的话,您可以使用numpy轻松完成,它提供了从分布中提取随机数的函数。例如,numpy.random.poisson从泊松分布中提取数字。在

使用plt.hist代替plt.bar要容易得多。
使用bar您必须选择一个bin大小和bin位置,自己计算每个bin中有多少数据,并绘制直方图。plt.hist这一切都是为了你。在

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

def plot_poisson(df, col='open', n_pts=100):
    lm = df[col].mean() #get the mean value of your data
    poisdata = np.random.poisson(lm, n_pts)
    plt.hist(poisdata, density=True, alpha=0.5)
    plt.xlabel("X")
    plt.ylabel("P(X|\mu)")
    plt.title("Poisson PMF")
    plt.show()

此函数生成的示例图片:

enter image description here

相关问题 更多 >

    热门问题