根据数据框中的日期时间创建订单列

时间:2020-08-05 15:02:45

标签: python pandas

UserID  Datetime  Object  Order*
A       1/2/20    Apple   1     
A       4/4/20    Banana  3     
A       3/3/20    Pear    2     
B       7/6/20    Pear    3     
B       5/6/20    Banana  2      
B       2/2/20    Apple   1      

我有一个看起来与此表相似的数据框,但是没有Order列。我想基于日期时间创建此订单列,以查看“对象”列的平均位置。我遇到的问题是弄清楚如何在数据框中细分用户。

1 个答案:

答案 0 :(得分:0)

IIUC,您需要sort_valuescumcount

#ensure your datetime is a proper datetime 
#df['Datetime']  = pd.to_datetime(df['Datetime'])
df['Order'] = df.sort_values('Datetime').groupby('UserID').cumcount() + 1


  UserID   Datetime  Object  Order*  Order
0      A 2020-01-02   Apple       1      1
1      A 2020-04-04  Banana       3      3
2      A 2020-03-03    Pear       2      2
3      B 2020-07-06    Pear       3      3
4      B 2020-05-06  Banana       2      2
5      B 2020-02-02   Apple       1      1
相关问题