Pandas数据框具有这样的一列:
我想基于time
列的groupby()逻辑创建ID列,如下所示:
了解如何逐步执行此操作:使用index
作为列或将groupby()
与rank
函数一起使用:
df['ID'] = df.groupby('time')['time'].rank(method='first')
但是如何使用请求的方式完成呢?
谢谢!
答案 0 :(得分:2)
Based on the input you could make use of pd.factorize()
:
df['ID']=pd.factorize(df.time)[0]
print(df)
time ID
0 01.09.16 0
1 01.09.16 0
2 01.09.16 0
3 02.09.16 1
4 02.09.16 1
5 02.09.16 1
6 03.09.16 2
7 03.09.16 2
8 03.09.16 2