如何在 pandas 数据框中创建倾斜列?
How to create a skewed column in pandas dataframe?
我想在具有偏态分布的数据框中创建一个新列。我希望它有 64000 个数据点,最小值为 0(无负值),以及某种倾斜的形状,其中大多数人更接近 0,然后它以更高的值向右平稳。
我已经试过了,但是我做不到。非常感谢任何帮助。
rv = skewnorm.rvs(400000, size=100000)
您可以使用 exponential or poisson 分布,具体取决于您的具体需求。 指数分布将给出连续值,而泊松将给出离散值。两者都可以在 numpy
包中找到。创建 numpy
数组后,可以轻松将其添加到 pandas
数据框。
指数分布 (numpy):
import numpy as np
beta = 10
s = np.random.exponential(beta, 64000)
beta
用作比例参数,将确定值的大小,同时保持一般分布形状。绘制 beta=10
和 100 个箱子:
泊松分布 (numpy):
import numpy as np
lam = 0.9
s = np.random.poisson(lam , 64000)
速率参数 lam
将决定分布的形状。均值和方差都将等于 lam
。请注意,仅获得离散值。使用 lam=0.9
和 8 个 bin 绘图:
我想在具有偏态分布的数据框中创建一个新列。我希望它有 64000 个数据点,最小值为 0(无负值),以及某种倾斜的形状,其中大多数人更接近 0,然后它以更高的值向右平稳。
我已经试过了,但是我做不到。非常感谢任何帮助。
rv = skewnorm.rvs(400000, size=100000)
您可以使用 exponential or poisson 分布,具体取决于您的具体需求。 指数分布将给出连续值,而泊松将给出离散值。两者都可以在 numpy
包中找到。创建 numpy
数组后,可以轻松将其添加到 pandas
数据框。
指数分布 (numpy):
import numpy as np
beta = 10
s = np.random.exponential(beta, 64000)
beta
用作比例参数,将确定值的大小,同时保持一般分布形状。绘制 beta=10
和 100 个箱子:
泊松分布 (numpy):
import numpy as np
lam = 0.9
s = np.random.poisson(lam , 64000)
速率参数 lam
将决定分布的形状。均值和方差都将等于 lam
。请注意,仅获得离散值。使用 lam=0.9
和 8 个 bin 绘图: