您可以在
dt.date之前使用
groupby并在
last之前聚合:
#if necessery convert to datetime
df.time_dt = pd.to_datetime(df.time_dt)
df = df.groupby(df.time_dt.dt.date).last().reset_index(drop=True)
print (df)
time price_BRL qt time_dt
0 1312049148 23.40 1.00 2011-07-30 18:05:48
1 1312121523 23.50 6.50 2011-07-31 14:12:03
2 1312206416 23.25 1.00 2011-08-01 13:46:56
3 1312637929 18.95 4.00 2011-08-06 13:38:49
4 1312847064 16.00 0.86 2011-08-08 23:44:24
5 1312915666 6.00 0.01 2011-08-09 18:47:46
6 1312934897 19.90 1.00 2011-08-10 00:08:17
谢谢MaxU的另一个解决方案 – 为返回DataFrame添加参数as_index = False:
df = df.groupby(df.time_dt.dt.date, as_index=False).last()
print (df)
time price_BRL qt time_dt
0 1312049148 23.40 1.00 2011-07-30 18:05:48
1 1312121523 23.50 6.50 20