如何在pandas中对列值的实例进行排序和计数?
我有这个数据框:如何在pandas中对列值的实例进行排序和计数?,pandas,Pandas,我有这个数据框: df = pd.DataFrame(data=[[1,1],[1,2],[2,3],[2,4],[2,5],[2,6],[3,7],[3,8]],columns=['alarmId','attemptId']) 这将创建此表: +---------+-----------+ | alarmId | attemptId | +---------+-----------+ | 1 | 1 | | 1 | 2 | |
df = pd.DataFrame(data=[[1,1],[1,2],[2,3],[2,4],[2,5],[2,6],[3,7],[3,8]],columns=['alarmId','attemptId'])
这将创建此表:
+---------+-----------+
| alarmId | attemptId |
+---------+-----------+
| 1 | 1 |
| 1 | 2 |
| 2 | 3 |
| 2 | 4 |
| 2 | 5 |
| 2 | 6 |
| 3 | 7 |
| 3 | 8 |
+---------+-----------+
我想标记每个报警每次尝试的实例数,以便生成如下表:
+---------+-----------+---------------+
| alarmId | attemptId | attemptNumber |
+---------+-----------+---------------+
| 1 | 1 | 1 |
| 1 | 2 | 2 |
| 2 | 3 | 1 |
| 2 | 4 | 2 |
| 2 | 5 | 3 |
| 2 | 6 | 4 |
| 3 | 7 | 1 |
| 3 | 8 | 2 |
+---------+-----------+---------------+
我该怎么做
df['attempernumber']=df.groupby('alarmId').cumcount().add(1)
?请避免回答明显重复的问题。
df["attemptNumber"] = 1 + df.groupby("alarmId").cumcount()
print(df)
alarmId attemptId attemptNumber
0 1 1 1
1 1 2 2
2 2 3 1
3 2 4 2
4 2 5 3
5 2 6 4
6 3 7 1
7 3 8 2