首页 > 解决方案 > 将部分值分配给数据集中的一组特征,涵盖python中没有小数和余数的总值

问题描述

我在一个统计项目中使用熊猫,我有人口数据集,我应该从块分配给单个地块,问题是是否有任何方法可以应用来填充一组没有小数的值直到完成整体块人口值。

输入数据框如下:

plot_id   block_id   block_pop  

      1          1           5          
      2          1           5          
      3          2          11          
      4          2          11          
      5          2          11    
  1. 按块计算地块数:
    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')
  1. 按图计算平均人口(无余数):

    df['pop_mean'] = df['block_pop']//df['n_plots']

  2. 我坚持的步骤是将剩余部分以整数而不是浮点数的形式分布在一些块图中,以填充总块人口。

预期的结果是这样的:

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

任何帮助将不胜感激

标签: pythonpandasdemographics

解决方案


推荐阅读