【问题标题】:How to create a skewed column in pandas dataframe?如何在熊猫数据框中创建倾斜列?
【发布时间】:2020-08-11 19:02:01
【问题描述】:

我想在分布偏斜的数据框中创建一个新列。我希望它有 64000 个数据点,最小为 0(没有负值),以及某种偏斜的形状,大多数人更接近 0,然后它以更高的值向右趋于平稳。

我已经尝试过了,但我做不到。非常感谢任何帮助。

rv = skewnorm.rvs(400000, size=100000)

【问题讨论】:

    标签: python pandas numpy statistics distribution


    【解决方案1】:

    您可以使用exponentialpoisson 发行版,具体取决于您的具体目标。 指数分布会给出连续值,而泊松会给出离散值。两者都可以在 numpy 包中找到。创建numpy 数组后,可以轻松将其添加到pandas 数据帧中。

    指数分布 (numpy):

    import numpy as np
    
    beta = 10
    s = np.random.exponential(beta, 64000)
    

    beta 充当比例参数,将确定值的大小,同时保持一般分布形状。 Plotwith beta=10 和 100 个箱子:

    泊松分布 (numpy):

    import numpy as np
    
    lam = 0.9
    s = np.random.poisson(lam , 64000)
    

    速率参数lam 将决定分布的形状。平均值和方差都等于lam。请注意,仅获得离散值。使用lam=0.9 和 8 个 bin 绘制:

    【讨论】:

    • Triangular 如果有一个固定的上限,模式接近(或处于)零将是另一种选择。
    猜你喜欢
    • 2019-01-25
    • 1970-01-01
    • 2016-08-28
    • 1970-01-01
    • 2021-06-08
    • 2021-09-29
    • 2019-12-21
    • 2019-06-07
    • 2016-08-07
    相关资源
    最近更新 更多