我有一个包含 22 列的 Pandas 数据框,用于处理建筑评估,但是,我只关注两个特定的列。这两列是数字建筑物 ID 和评估阶段,指示相应建筑物 ID 处于哪个阶段。基本上,我想做的是计算这两列中值组合的出现次数,并将这些计数存储在序数列。详情如下:
Building ID | Assessment Phase
-----------------------------------
001 Phase 1
002 Phase 2
002 Phase 2
003 Phase 3
003 Phase 2
003 Phase 3
004 Unk
004 Phase 1
005 Phase 2
您会注意到有重复的 ID 和看起来相同的评估。我想要按建筑物 ID 和评估阶段分组的每个类似事件的累积行数。它应该看起来像这样:
Building ID | Assessment Phase | Bldg_Phs_Ord
--------------------------------------------------
001 Phase 1 1
002 Phase 2 1
002 Phase 2 2
003 Phase 3 1
003 Phase 3 2
003 Phase 3 3
004 Unk 1
004 Phase 1 1
005 Phase 2 1
可以看出,每个组合都有单独的计数。一些组合重复几次,其中每个后续组合都放在自己的行中。
我尝试过的是测试它是否正确输出:
test_cnt = bldg_df.groupby(['Building ID', 'Assessment Phase']).size().to_frame('COUNT').sort_values(by=['Building ID']).reset_index()
不幸的是,只要存在不止一个重复组合,这就会将这些组合聚合在一起。
Building ID | Assessment Phase | COUNT
--------------------------------------------------
001 Phase 1 1
002 Phase 2 2
003 Phase 3 3
004 Unk 1
004 Phase 1 1
005 Phase 2 1
我应该添加什么以便它返回每个单独的累积行数?
慕娘9325324
慕码人8056858
青春有我
相关分类