如何分割Pandas日期时间索引以始终选择第一天



如果我有一个看起来像这样的数据帧:

timestamp            lat        lon             sog                                     
2018-12-22 08:03:15  54.917200  13.358867      10.8                     
2018-12-22 08:04:05  54.916350  13.354700      10.8                     
2018-12-22 08:04:53  54.915533  13.350767      10.7  
2018-12-24 08:03:15  57.917200  9.358867       10.8                     
2018-12-24 08:04:05  57.916350  9.354700       10.8                     
2018-12-26 08:04:53  59.915533  5.350767       10.7                     

我想对df做一个切片,只处理第一天的信息。如果我知道日期,我可以简单地

first_day = df.loc['2018-12-22']

但我想对很多.csv文件自动执行此操作,它们都有不同的开始日期。有没有一种方法可以对Datetime索引进行切片,只获取第一天?类似于:

first_day = df.iloc[:day1] ?

最终得到:

timestamp            lat        lon             sog                                     
2018-12-22 08:03:15  54.917200  13.358867      10.8                     
2018-12-22 08:04:05  54.916350  13.354700      10.8                     
2018-12-22 08:04:53  54.915533  13.350767      10.7  

您可以找到第一天(最短日期(并使用布尔索引:

for df in df_list:
days = df.index.normalize()
min_date = days.min()
df[days == min_date]

最新更新