Pandas number rows within group in increasing order

后端 未结 2 461
不思量自难忘°
不思量自难忘° 2020-11-28 07:06

Given the following data frame:

import pandas as pd
import numpy as np
df=pd.DataFrame({\'A\':[\'A\',\'A\',\'A\',\'B\',\'B\',\'B\'],
                \'B\':[\'         


        
2条回答
  •  粉色の甜心
    2020-11-28 07:26

    Use groupby/cumcount:

    In [25]: df['C'] = df.groupby(['A','B']).cumcount()+1; df
    Out[25]: 
       A  B  C
    0  A  a  1
    1  A  a  2
    2  A  b  1
    3  B  a  1
    4  B  a  2
    5  B  a  3
    

提交回复
热议问题