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

Python pandas如何删除未命名列及Name列含'app'的行

可直接落地的实现代码

需求拆解对应操作

  • 删除所有未命名列
    pandas读取外部文件自动生成的未命名列,列名一般以Unnamed开头(你的示例里拼写为Unamed),可以通过列名筛选的方式批量删除,不需要手动指定列名:
# 正则匹配所有以Unnamed开头的列(忽略大小写),反向保留需要的列
df = df.loc[:, ~df.columns.str.contains("^Unnamed", case=False)]
# 如果列名就是固定的'Unamed',也可以直接用drop删除
# df = df.drop(columns=["Unamed"])
  • 移除Name列包含'app'的行
    你之前编写的代码片段有两个核心问题:
    • 匹配逻辑错误:用df['Name'] == 'app'是精确值匹配,只能筛出Name完全等于'app'的行,无法匹配app23这类包含'app'的内容
    • 语法不完整:drop的方法括号没有闭合,运行会直接触发语法报错

修正后的写法有两种常用形式:

# 写法1:反向筛选不包含'app'的行,代码更简洁
df = df.loc[~df['Name'].str.contains("app", case=False)]
# 写法2:沿用你原本的drop思路,修正匹配逻辑和语法
df = df.drop(df.index[df['Name'].str.contains("app")])

最终输出结果

代码执行完成后,得到的数据集和你预期结构完全一致:

ID   Name
1  b   db23
2  c  db233

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.28 05:45:00