python - 基于具有不同频率的日期列表切片数据帧
问题描述
我尝试根据感兴趣的日期按行对数据框进行切片。 df_data
有一个基于datetime
格式的索引YYYY-MM-DD hh:mm:ss
。
它以 1 分钟的频率包含从 2012 年 1 月 1 日到 2018 年 6 月 30 日的数据。另一个dataframe
包含一个包含感兴趣日期的列,但每天使用 format 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]
推荐阅读
- google-analytics - 将 Google Optimize Container 链接到 Google Analytics 4 属性
- php - wordpress 代码片段 php 限制页面访问
- c++ - 如何将函数的二维数组参数作为内部函数的参数传递
- java - Java 方法没有第二次执行
- python - 查找 pd.Series 的长度并去除最后两个字符 Pandas
- arduino - NFC 卡仿真有内存限制吗?
- firewall - 资源监视器中的防火墙状态
- bash - 隐藏或禁止传递给 shell 脚本的参数值
- python - 如何转换预测列表以获取所需 JSONL 格式的列表
- javascript - Discord.js 加入和离开事件不起作用