熊猫分组日期选择每天最早

was*_*256 3 python pandas

我有以下数据集:

            value            timestamp
0            Fire  2017-10-03 14:33:52
1           Water  2017-10-04 14:33:48
2            Fire  2017-10-04 14:33:45
3            Fire  2017-10-05 14:33:30
4           Water  2017-10-03 14:33:40
5           Water  2017-10-05 14:32:13
6           Water  2017-10-04 14:32:01
7            Fire  2017-10-03 14:31:55
Run Code Online (Sandbox Code Playgroud)

我想timestamp每天对这个集合进行分组,然后每天只选择最早的行。对于上面的例子,结果应该如下:

            value            timestamp
1           Water  2017-10-05 14:32:13
2           Water  2017-10-04 14:32:01
3            Fire  2017-10-03 14:31:55
Run Code Online (Sandbox Code Playgroud)

例如,当天2017-10-03有 3 个条目,但我只想要当天最早的条目。

Psi*_*dom 8

如果您有唯一索引,则可以使用idxminontimestamp找出最小时间戳的索引并使用以下命令提取它们loc

df.timestamp = pd.to_datetime(df.timestamp)
df.loc[df.groupby(df.timestamp.dt.date, as_index=False).timestamp.idxmin()]

#   value             timestamp
#7   Fire   2017-10-03 14:31:55
#6  Water   2017-10-04 14:32:01
#5  Water   2017-10-05 14:32:13
Run Code Online (Sandbox Code Playgroud)