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

疑问:Pandas是否缺少添加行专用方法?append()已弃用

Pandas 添加行的替代方案(append()弃用后)

你已掌握的方法回顾

  • 创建单行DataFrame后合并:
    new_row = pd.DataFrame({'col1': [val1], 'col2': [val2]})
    df = pd.concat([df, new_row], ignore_index=True)
    
  • 使用loc添加行:
    df.loc[len(df)] = {'col1': val1, 'col2': val2}
    

你可能遗漏的其他方法

  • 简化版pd.concat写法:无需手动构建单行DataFrame,直接用字典生成:
    df = pd.concat([df, pd.DataFrame.from_dict([{'col1': val1, 'col3': val3}])], ignore_index=True)
    
  • loc指定列赋值:你觉得loc不方便选列其实是误解,直接指定目标列即可,未指定的列会自动填充NaN:
    df.loc[len(df), ['col1', 'col3']] = [val1, val3]
    
  • 弃用但短期可用的append:官方弃用是因为大数据量下效率低,小数据场景仍可临时使用:
    df = df.append({'col1': val1, 'col2': val2}, ignore_index=True)
    

为什么Pandas没有专用行插入方法?

Pandas的DataFrame基于列存储,单行插入需要修改整个数据结构,效率远低于列操作。官方更推荐先批量收集行数据,最后统一转成DataFrame的方式,而非提供单行插入的专用方法——这也是append()被弃用的核心原因。

你自己编写的自定义方法完全可以继续使用,尤其在需要频繁指定列添加行的场景下,实用性很高。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 21:45:58