DataFrame无append属性报错:追加字典至DataFrame失败如何解决?
修复DataFrame.append()报错的问题
错误原因
Pandas 2.0及以上版本已正式移除DataFrame.append()方法,旧版本中该方法确实存在,但新版本已弃用并删除了这一实现,因此你会触发AttributeError: 'DataFrame' object has no attribute 'append'。
两种可行修复方案
方案1:使用pd.concat()(官方推荐)
将字典转换为单行DataFrame,再通过pd.concat()合并到原DataFrame中:
# 把字典转为单行DataFrame new_row_df = pd.DataFrame([new_row]) # 合并两个DataFrame,ignore_index=True重置索引 df = pd.concat([df, new_row_df], ignore_index=True)
方案2:直接通过df.loc[]赋值
如果只是追加单行数据,这种方式更简洁:
# 利用len(df)获取当前最后一行的下一个索引位置,赋值字典 df.loc[len(df)] = new_row
注意:如果字典的键与DataFrame的列名不完全匹配,未匹配的列会填充为NaN,需确保键和列名一致。
额外说明
不建议通过降级Pandas版本来恢复append()方法,新版本包含更多性能优化和功能更新,官方也不再维护旧版本的该方法。
内容的提问来源于stack exchange,提问作者Maksimjeet Chowdhary
相关产品推荐
相关产品推荐

