python - 如何在 Pandas 数据框中创建倾斜列?

标签 python pandas numpy statistics distribution

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

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

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

最佳答案

您可以使用 exponentialpoisson分布取决于你到底在做什么。 指数分布将给出连续值,而泊松分布将给出离散值。两者都可以在 numpy 包中找到。创建 numpy 数组后,可以轻松将其添加到 pandas 数据框。

指数分布(numpy):

import numpy as np

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

beta 用作比例参数,将确定值的大小,同时保持一般分布形状。使用 beta=10 和 100 个 bin 绘制:

Exponential plot

泊松分布 ( numpy ):

import numpy as np

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

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

Poisson plot

关于python - 如何在 Pandas 数据框中创建倾斜列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61472179/

相关文章:

python - 类型错误 : input expected at most1 arguments got 3

python - 仅替换一定数量的字符

python - 计算一列中有多少个字符出现在另一列中( Pandas )

c++ - 确定 PyObject* 是否为 PyLongDoubleScalarObject (numpy)

python - 如果我只切出 1 列与切出多列,为什么 numpy 的行为会有所不同?

python - NumPy 数组的大小

python - pyyaml 看起来已经过时了

python - Serializer 上的 SerializerClass 字段从主键保存

python - 将非空单元格移到 pandas DataFrame 的左侧

python - 将 DataFrame 的每 n 个索引乘以(或除以)数组中的常量