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

Jupyter Notebook中高效删除指定日期数据的方法咨询

高效删除指定日期数据的优化方案

你的原代码通过循环逐行过滤日期,每次迭代都会生成新的DataFrame,在处理一整年这类大量日期数据时,时间开销会非常大。这里提供一种基于向量化操作的高效方案,完全符合你“基于列表删除”的需求:

优化步骤

  1. 提取要删除的日期列表:
    原代码里的groupby+sum是冗余操作,直接提取df_new中的唯一日期即可:

    dates_to_remove = df_new['Date'].unique()
    

    如果你需要确保日期无重复,也可以用df_new['Date'].drop_duplicates(),效果一致。

  2. 一次性过滤数据:
    利用Pandas的向量化方法isin(),配合取反符号~,一次性过滤掉所有目标日期的数据:

    df_old = df_old[~df_old['Date'].isin(dates_to_remove)]
    

为什么更高效?

isin()是Pandas底层基于C实现的向量化操作,相比Python循环逐行判断,能大幅减少计算时间,尤其是处理大规模数据集时,效率提升会非常明显。

额外注意

如果你的Date列是datetime类型,请确保df_new和df_old中的日期类型完全一致,避免出现匹配失败的情况。

内容的提问来源于stack exchange,提问作者Rafael del Rincón

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 05:35:55