【发布时间】:2023-04-02 16:28:01
【问题描述】:
我有一个 Pandas 数据框:
| index1 | col1 | col2 |
|---|---|---|
| 0 | 12719 | row1 |
| 1 | 12719 | row2 |
| 2 | 12719 | row3 |
| 3 | 12719 | row4 |
| 4 | 20000 | row1 |
| 5 | 20000 | row2 |
| 6 | 20000 | row3 |
| 7 | 20000 | row4 |
| 8 | 20000 | row5 |
我想根据col1 值的出现(运行次数)创建一个新列index2:
| index1 | index2 | col1 | col2 |
|---|---|---|---|
| 0 | 0 | 12719 | row1 |
| 1 | 1 | 12719 | row2 |
| 2 | 2 | 12719 | row3 |
| 3 | 3 | 12719 | row4 |
| 4 | 0 | 20000 | row1 |
| 5 | 1 | 20000 | row2 |
| 6 | 2 | 20000 | row3 |
| 7 | 3 | 20000 | row4 |
| 8 | 4 | 20000 | row5 |
我尝试了不同的正则表达式组合,但不适合我的情况。
【问题讨论】:
-
df['index2'] = df.groupby('col1').cumcount()