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

Pandas DataFrame无append属性报错 求无需降级的解决办法

解决Pandas中DataFrame.append()报错的替代方案

报错原因

Pandas 2.0及以上版本已正式移除DataFrame.append()方法,因此调用该方法会触发AttributeError。官方推荐使用pd.concat()作为替代方案,同时该方法在处理多DataFrame合并时效率更高。

具体修改方案

不需要预先创建空DataFrame,直接将需要合并的子DataFrame收集后用pd.concat()一次性合并:

代码示例

from pandas import DataFrame, concat

# 获取垃圾邮件和正常邮件的DataFrame
spam_df = dataFrameFromDirectory(r'D:\email_classifier\spam', 'spam')
ham_df = dataFrameFromDirectory(r'D:\email_classifier\ham', 'ham')

# 合并两个DataFrame,ignore_index=True用于重置索引避免重复
data = concat([spam_df, ham_df], ignore_index=True)

扩展性优化(适用于多分类场景)

如果后续需要添加更多邮件分类,可以先将所有子DataFrame存入列表,再统一合并:

from pandas import DataFrame, concat

df_list = []
# 添加垃圾邮件数据
df_list.append(dataFrameFromDirectory(r'D:\email_classifier\spam', 'spam'))
# 添加正常邮件数据
df_list.append(dataFrameFromDirectory(r'D:\email_classifier\ham', 'ham'))
# 可继续添加其他分类的DataFrame

# 合并所有DataFrame
data = concat(df_list, ignore_index=True)

注意事项

  • 确保dataFrameFromDirectory函数返回的DataFrame列名为message和class,保证合并时列对齐;
  • 路径字符串前添加r转为原始字符串,避免反斜杠转义问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 20:27:07