标签: python pandas
我在熊猫df中有col1。我想做col2:
col1 col2 1 1 1 2 1 3 1 4 2 2 2 3 2 4 3 3 3 4 4 4
换句话说,对于col1中的每个不同的值,我希望col2是递增的整数,该整数以col1中的值开头,并递增一个,直到没有更多的行为止。
数据的结构方式使得max(col1)= 2450:
答案 0 :(得分:2)
您可以在GroupBy列col1中,选择cumcount个组,然后add col1:
GroupBy
col1
cumcount
add
df['col2'] = df.groupby('col1').cumcount().add(df.col1)
输出
col1 col2 0 1 1 1 1 2 2 1 3 3 1 4 4 2 2 5 2 3 6 2 4 7 3 3 8 3 4 9 4 4