我有以下数据集:
SessionNo ItemNo TransactType
1 12 0
1 13 1
1 12 1
2 15 0
...
我希望根据以下内容生成新属性Time
SessionNo
属性。新数据集如下所示:
SessionNo Time ItemNo TransactType
1 1 12 0
1 2 13 1
1 3 12 1
2 1 15 0
...
有没有一种简单的方法可以在Python中执行此任务?
答案 0 :(得分:1)
好像你想要cumcount
。
您必须在结果中加1才能以1而不是0开始计数:
In [18]: df['Time'] = df.groupby('SessionNo').cumcount()+1
In [19]: df
Out[19]:
SessionNo ItemNo TransactType Time
0 1 12 0 1
1 1 13 1 2
2 1 12 1 3
3 2 15 0 1