我在一个统计项目中使用熊猫,我有人口数据集,我应该从块分配给单个地块,问题是是否有任何方法可以应用来填充一组没有小数的值直到完成整体块人口值。
输入数据框如下:
plot_id block_id block_pop
1 1 5
2 1 5
3 2 11
4 2 11
5 2 11
- 按块计算地块数:
group_1 = df.groupby('block_id')['plot_id'].count().reset_index().rename(columns = {'plot_id': 'n_plots'})
df = df.merge(group_1, on = 'block_id')
按图计算平均人口(无余数):
df['pop_mean'] = df['block_pop']//df['n_plots']
我坚持的步骤是将剩余部分以整数而不是浮点数的形式分布在一些块图中,以填充总块人口。
预期的结果是这样的:
plot_id block_id block_pop n_plots pop_mean final_plot_pop
1 1 5 2 2 3
2 1 5 2 2 2
3 2 11 3 3 4
4 2 11 3 3 4
5 2 11 3 3 3
任何帮助将不胜感激