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

升级Python pandas后append方法失效问题的解决办法

解决pandas升级后append方法报错的问题

错误原因

pandas 2.0及以上版本已经彻底移除了DataFrame.append()方法,这就是你遇到AttributeError: 'DataFrame' object has no attribute 'append'错误的直接原因。

解决方案

推荐两种替代方式,优先选第二种(效率更高):

方案1:用pd.concat()替代append()

把原代码里的append操作替换成pd.concat(),需要将待添加的字典先转换成单条记录的DataFrame:

import pandas as pd

for row in lista_dist:
    for col in row:
        if col > 100:
            a = col
        else:
            # 替换append为pd.concat
            new_row = pd.DataFrame({'Conc': [a], 'Num': [col]})
            df_dist = pd.concat([df_dist, new_row], ignore_index=True)

方案2:先收集数据再一次性生成DataFrame(推荐)

循环中频繁拼接DataFrame效率极低,更优的做法是先把所有要添加的行存入列表,最后一次性转为DataFrame再合并:

import pandas as pd

# 初始化空列表存数据
rows_to_add = []
a = None  # 先初始化a,避免未赋值的情况

for row in lista_dist:
    for col in row:
        if col > 100:
            a = col
        else:
            # 把行数据存入列表
            rows_to_add.append({'Conc': a, 'Num': col})

# 一次性生成新的DataFrame并合并
new_df = pd.DataFrame(rows_to_add)
df_dist = pd.concat([df_dist, new_df], ignore_index=True)

补充说明

  • 如果你的df_dist初始是空的,直接用df_dist = pd.DataFrame(rows_to_add)即可,不需要pd.concat。
  • 方案2的效率远高于方案1,尤其是当数据量较大时,能显著减少内存开销和运行时间。

内容的提问来源于stack exchange,提问作者Nilson Roberto da Fonseca

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 12:33:18