人口增长:根据年龄段将分组添加到数据行中(添加新的“人员”)

时间:2019-05-23 15:27:35

标签: python pandas grouping

python新手**

我目前有一个基本人口,我正在老龄化并按年龄类别重新分组。我想做的是增加“新”人,并除使他们老龄化之外,还要从这一基本人口中将他们驱逐出去。

例如:我有一个年龄列表:22、25、27、30、35、38 ...(等) 并已分类到垃圾箱并计数:

<20 0
20 to 24 12
25 to 29 60
30 to 34 138
35 to 40 242

我还有一个“变化”向量,按年龄段有增减 所以[0,12,-4,3,-2]

因此新类别计数为

<20 0
20 to 24 24
25 to 29 56
30 to 34 141
35 to 40 240

我想做的是将这些更改映射回原始数据集以获得新的计数。因此,实际上在20-24岁之间随机添加了12个人(最好随机选择),并从原始数据集中随机抽取30至30岁之间的4行

计划是,这将在一个循环中发生,并且每年,数据集都会老化,然后进行加法或减法,然后进行新计数。

目前,我能够遍历人口老龄化并创建每年的计数以及提取每年的变化向量,但是我不确定如何使用变化向量将人口增加到我的人口中他们在特定年龄范围内相加或相减。

这是我到目前为止所拥有的。

for i in range(years):
    year=year+1
    ages=ages+1
    bins=pd.cut(ages.AGE,[0,20,24,29,34,39,44,49,54,59,64,69,150],labels=['<20','20 to 24','25 to 29','30 to 34','35 to 39', '40 to 45','45 to 49','50 to 54','55 to 59','60 to 64','65 to 69','>=70'],include_lowest=True)
    count=ages.groupby(bins)['AGE'].agg('count')
    change=np.array(change_vecs[change_vecs.columns[i]])

产出将是每年从原始人口基础上增加的新人口。年龄代表人们的地方。

0 个答案:

没有答案