我尝试根据感兴趣的日期按行切片数据。 df_data
有一个基于datetime
的索引,格式为YYYY-MM-DD hh:mm:ss
。
它包含从2012-01-01到2018-06-30的数据,频率为1分钟。另一个dataframe
包含一个感兴趣日期的列,但每天都会以YYYY-MM-DD
格式显示。
我把这个dataframe
变成了一个名为dates_interest
的列表。
我尝试使用df_final = df_data[df_data.index.isin(dates_interest)]
根据我的需要对数据帧进行切片,但df_final
返回长度为0的数据帧。
我想这与不同的频率/格式有关。
我确信有一个更优雅的解决方案,但我怀疑你感兴趣的日期被解释为午夜(日期和分钟)。如果是这样,你会想要从df_data中抽出几天,然后再尝试切片。
# get a column of the days from your df_data
df_data['just_day'] = df_data.index.dt.date
# append the individual slices from each day into your df_final
df_final =pd.DataFrame()
for date_of_interest in dates_interest:
df_final.append(df_data.loc[df_data['just_day']==date_of_interest]