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

使用pandas的drop()方法删除DataFrame行无效果且无报错求助

解决pandas drop()删除行后DataFrame无变化的问题

问题出在pandas的drop()方法默认行为上:它不会直接修改原DataFrame,而是返回一个删除指定行后的新DataFrame对象。你执行testdf2.drop([1])后,只是生成了新对象但没保存,所以原testdf2完全没变。

有两种常用解决方法:

  • 直接修改原DataFrame(使用inplace参数)
    在drop()里添加inplace=True,让操作直接作用于原数据:

    data= {"col1":[1, 3, 3,3],"col2":[4,5,6,4],"col3":[7,6,6,8]}
    testdf2 = pd.DataFrame(data)
    
    testdf2.drop([1], inplace=True)
    testdf2  # 此时输出就是删除索引为1的行后的结果
    
  • 重新赋值变量
    把drop()返回的新DataFrame重新赋值给原变量,覆盖旧数据:

    data= {"col1":[1, 3, 3,3],"col2":[4,5,6,4],"col3":[7,6,6,8]}
    testdf2 = pd.DataFrame(data)
    
    testdf2 = testdf2.drop([1])
    testdf2
    

额外提示:如果要删除多行,直接传入索引列表即可,比如drop([0, 1]);默认axis=0是删除行,若要删列可以指定axis=1或columns参数。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 13:11:13