填充Python中的汇总列

nnn1234

以下面的输入为例,我试图根据其他实例的唯一实例在Python的数据框中创建一个聚合列。我可以尽力而为,但在新列中留下了NaN

raw_data = {'RegionCode' : ['10001', '10001', '10001', '10001', '10001', '10001', '10002', '10002', '10002', '10002', '10002', '10002'],
            'Stratum' : ['1', '1','2','2','3', '3', '1', '1', '2', '2', '3', '3'],
            'LaStratum' : ['1021', '1021', '1022', '1022', '1023', '1023', '2021', '2021', '2022', '2022', '2023', '2023'],
            'StratumPop' : [125, 125, 50, 50, 100, 100, 250, 250, 200, 200, 300, 300],
            'Q_response' : [2, 1, 4, 1, 2, 2, 3, 4, 3, 2, 1, 4]}



Data = pd.DataFrame(raw_data, columns = ['RegionCode', 'Stratum', 'LaStratum', 'StratumPop', 'Q_response'])

#Sum StratumPop by unique instance of LaStratum at RegionCode level
Data['Total_Pop'] = Data.drop_duplicates(['LaStratum']).groupby('RegionCode')['StratumPop'].transform('sum')

Data

我想做的是按LaStratum的每个唯一实例对RegionCode级别的StratumPop列求和。产生的总数是正确的,但是我如何“填充”该列以重复每个总数,而不仅仅是看到每个不同总数的第一个出现以及其他元素的NaN呢?因此,区域10001每行有275个,区域10002每行有750个。如果不创建临时表并合并回唯一值(如我目前正在执行的操作),是否可以做到这一点?

大学生

要填充该列并按区域重复每个Total_Pop,您可以使用一个简单的分组(按区域本身)ffill()

Data['Total_Pop_new'] = Data.groupby('RegionCode')['Total_Pop'].ffill()

会给你回来的:

Data

   RegionCode Stratum LaStratum  ...  Q_response  Total_Pop  Total_Pop_new
0       10001       1      1021  ...           2      275.0          275.0
1       10001       1      1021  ...           1        NaN          275.0
2       10001       2      1022  ...           4      275.0          275.0
3       10001       2      1022  ...           1        NaN          275.0
4       10001       3      1023  ...           2      275.0          275.0
5       10001       3      1023  ...           2        NaN          275.0
6       10002       1      2021  ...           3      750.0          750.0
7       10002       1      2021  ...           4        NaN          750.0
8       10002       2      2022  ...           3      750.0          750.0
9       10002       2      2022  ...           2        NaN          750.0
10      10002       3      2023  ...           1      750.0          750.0
11      10002       3      2023  ...           4        NaN          750.0

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用python汇总.csv文件中的列

来自分类Dev

根据另一列的汇总在一列中填充空值

来自分类Dev

MongoDB:汇总时在$ group中填充引用?

来自分类Dev

在python中优雅地汇总命名的DataFrame列

来自分类Dev

汇总DataTables中的过滤列

来自分类Dev

汇总行中的特定列

来自分类Dev

汇总PySpark中的count列

来自分类Dev

在计算中添加汇总列

来自分类Dev

汇总列中的数组值

来自分类Dev

在 Python 中拆分字符串以填充 Excel 中的列

来自分类Dev

如何使用MongoDB(mongoose db)在汇总中添加$ lookup填充

来自分类Dev

Mongodb填充汇总字段

来自分类Dev

根据Python中的多个行值填充列

来自分类Dev

从Python中的特定月份开始按年月填充日期列

来自分类Dev

在熊猫矩阵[python]中添加值0并填充缺失的列

来自分类Dev

在Python中对指定列进行分组和填充

来自分类Dev

添加新列并在python中填充字符串

来自分类Dev

创建新列并在python中填充NaN

来自分类Dev

填充数据框列Python中的缺失值

来自分类Dev

汇总和汇总每日数据到python中的月份

来自分类Dev

在B列中填充A列

来自分类Dev

Python 3.6:创建数据透视表,汇总数据帧中多个列的值计数

来自分类Dev

Python Pandas-如果使用groupby函数汇总了两列中的数据

来自分类Dev

如何汇总日内时间戳并在pandas数据框Python中创建新列

来自分类Dev

如何在Python中按列分组并按自己的函数汇总

来自分类Dev

汇总不同表中每个值的列

来自分类Dev

汇总3个表中的列

来自分类Dev

汇总文本文件中的列

来自分类Dev

汇总单个表中多个列的计数