基于具有不同频率的日期列表切片数据帧

问题描述 投票:0回答:1

我尝试根据感兴趣的日期按行切片数据。 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的数据帧。 我想这与不同的频率/格式有关。

python pandas datetime dataframe slice
1个回答
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]
© www.soinside.com 2019 - 2024. All rights reserved.