【发布时间】:2021-10-15 22:00:16
【问题描述】:
我在以下表格的数据框中有一些医院就诊医疗保健数据:
| record_id | client_id | date_of_encounter | hospital_id |
|---|---|---|---|
| 1 | MK456 | 2014-01-01 | 01J |
| 2 | JJ103 | 2016-04-01 | 02J |
| 3 | MK456 | 2014-02-26 | 01J |
| 4 | JJ103 | 2016-05-01 | 02H |
| 5 | MK456 | 2014-03-01 | 02H |
| 6 | JJ103 | 2016-06-06 | 02J |
我想创建一个列hospital_count,它是每个客户在date_of_counter 访问的唯一医院的累积计数。我已经按client_id 和date_of_counter 排序。结果转换将是
| record_id | client_id | date_of_encounter | hospital_id | hospital_count |
|---|---|---|---|---|
| 1 | MK456 | 2014-01-01 | 01J | 1 |
| 3 | MK456 | 2014-02-26 | 01J | 1 |
| 5 | MK456 | 2014-03-01 | 02H | 2 |
| 2 | JJ103 | 2016-04-01 | 02J | 1 |
| 4 | JJ103 | 2016-05-01 | 02H | 2 |
| 6 | JJ103 | 2016-06-06 | 02J | 2 |
有些人建议使用groupby 和cumsum() 的组合,但我不太确定如何使用?
【问题讨论】:
-
我认为您正在寻找
GoupBy.cumcount而不是cumsum。
标签: python sorting pandas-groupby cumulative-sum cumulative-frequency