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

循环中Pandas DataFrame保留前次内容致频率统计异常

解决循环中Pandas DataFrame累积旧数据的问题

你的问题核心不是rel没清空,而是每次循环时的rows变量没有重置——你每次迭代都在往rows里追加数据,没有清空,导致创建的df一次比一次大,筛选后的rel自然会包含前几次的内容。

具体修复步骤:

  • 每次循环开始时,先把rows重置为空列表,确保当前迭代的df只基于本次读取的XML数据创建。
  • 如果你的array是随循环动态变化的,也要确认它在每次迭代时是正确的当前值,不过从你的问题描述看,主要问题出在rows。

修正后的代码示例:

for var in range(1,3): 
    rows = []  # 关键:每次循环初始化rows,清空旧数据
    # 这里执行当前迭代对应的XML数据读取逻辑,把数据存入rows
    df = pd.DataFrame(rows, columns=cols) 
     
    rels = df.loc[df['location2'].isin(array)]
    rel = rels.assign(Index=range(len(rels))).set_index('Index')
    print(rel)

补充说明:

之前你尝试删除rel、清空df都没用,因为根源是rows一直在累积之前迭代的数据,df每次都是基于这个越来越大的rows生成的,所以必须从数据源rows入手,每次循环重新初始化它。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 11:05:47