You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何基于df_2的非零日期删除df_1对应日期的所有小时数据行?

解决方法:根据日级DataFrame过滤小时级DataFrame的行

要删除df_1中对应日期在df_2里测量值不为0的所有行,你可以按以下步骤操作:

步骤1:确定需要保留的日期

先从df_2中筛选出Random列值为0的日期,这些日期对应的df_1小时数据是我们要保留的:

# 获取df_2中值为0的日期(转换为date对象,方便后续匹配)
keep_dates = df_2[df_2['Random'] == 0].index.date

步骤2:筛选df_1的行

利用df_1索引的date属性,过滤出索引日期在keep_dates列表中的行:

# 过滤df_1,只保留符合条件的小时数据
filtered_df_1 = df_1[df_1.index.date.isin(keep_dates)]

验证结果(可选)

如果需要确认过滤是否正确,可以检查被删除的日期是否不在结果中:

# 获取df_2中值不为0的日期
removed_dates = df_2[df_2['Random'] != 0].index.date
# 检查结果中是否存在被删除的日期
print("被删除的日期:", removed_dates)
print("过滤后的df_1是否包含被删除日期的数据:", any(date in filtered_df_1.index.date for date in removed_dates))

处理完成后,filtered_df_1就是删除了所有对应df_2值不为0日期的小时数据后的结果。

内容的提问来源于stack exchange,提问作者Murilo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 16:31:05