在熊猫中创建发行

问题描述

我想生成具有特定分布的随机/模拟数据集。

作为示例,分布具有以下属性

  1. 1000人口
  2. 性别比例为:男性49%,女性50%,其他1%
  3. 年龄分布如下:0-30(30%),31-60(40%),61-100(30%)

结果数据框将有1000行,两列称为性别和年龄(具有上述值分布)

在Pandas或其他图书馆中有没有办法做到这一点?

解决方法

您可以尝试:

N = 1000
gender = np.random.choice(["male","female","other"],size=N,p = [.49,.5,.01])

age = np.r_[np.random.choice(range(30),size= int(.3*N)),np.random.choice(range(31,60),size= int(.4*N)),np.random.choice(range(61,100),size= N - int(.3*N) - int(.4*N) )]
np.random.shuffle(age)

df = pd.DataFrame({"gender":gender,"age":age})