下面有一个数据框,其中有一个模型和一个项作为列
df = pd.DataFrame({'model':['A','A','A','A','A','A','A','B','B','B','B','B','B','B'],
'item':['aa','ab','ab','ab','ac','ad','ad','ba','ba','ba','bb','bb','bb','bc']})
我想在此数据框中添加一个串行列,但有一些规则
1.当型号(A,B)发生变化时,序列号将重置,并从零开始。
1.序列号不能超过3。
仅0、1、2个值
在二(2)之后,它从零(0)开始
1.在同一个项目的情况下,序列是相同的
我想要的是
3条答案
按热度按时间2j4z5cfb1#
您希望
pd.factorize
位于每个model
组(groupby
)中的item
上。重置部分仅为一个模:输出:
cyvaqqii2#
将每一项与前一项进行比较,并应用一个累计和。剩下的是一个数学运算,以调整到您期望的输出(计数从0开始,不超过3)
qzlgjiam3#
如果需要按
item
中的连续值计数,请使用用途:或者:
x一个一个一个一个x一个一个二个x