我需要按日期和时间对行进行排序ID
:
df =
ID TYPE DATETIME
1 A 12/18/2015 23:02:00
1 A 12/17/2015 12:00:09
1 A 12/18/2015 18:04:08
2 B 12/20/2015 15:03:05
2 B 12/18/2015 14:02:07
结果应该是这个:
result =
ID TYPE DATETIME
1 A 12/17/2015 12:00:09
1 A 12/18/2015 18:04:08
1 A 12/18/2015 23:02:00
2 B 12/18/2015 14:02:07
2 B 12/20/2015 15:03:05
我该怎么做?
df.groupby("ID").sort(...)
答案 0 :(得分:2)
你可以尝试:
MCMCglmm
(我认为df.sort()现已弃用)
答案 1 :(得分:1)
您可以使用sort_values
并按参数by
指定列,如果需要默认升序排序,则可省略ascending
:
#if df['DATETIME'].dtype != datetime, convert first
df.DATETIME = pd.to_datetime(df.DATETIME)
df = df.sort_values(by=['ID','TYPE','DATETIME'])
print (df)
ID TYPE DATETIME
1 1 A 2015-12-17 12:00:09
2 1 A 2015-12-18 18:04:08
0 1 A 2015-12-18 23:02:00
4 2 B 2015-12-18 14:02:07
3 2 B 2015-12-20 15:03:05