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

如何删除Pandas DataFrame中含指定子串的行并导出结果?

解决方法:筛选并移除指定行,同时保存被删除的行

你已经找对了筛选目标行的方向,接下来只需要用布尔索引的取反操作就能得到保留的原数据,然后分别保存两个文件就好啦,具体步骤和代码如下:

1. 完善筛选条件(可选但推荐)

首先,你的筛选逻辑是正确的,但如果Name列存在空值(NaN),str.contains会返回NaN,可能导致意外的结果,建议加上na=False参数,把空值排除在匹配结果外:

# 筛选出需要删除的行
df_to_delete = df2[df2['Name'].str.contains("planning|Test|tgt", case=False, na=False)]

2. 从原DataFrame中移除目标行

有两种高效的方式可以实现:

  • 方式一:用~符号对布尔索引取反,直接得到不需要删除的行:
df2_processed = df2[~df2['Name'].str.contains("planning|Test|tgt", case=False, na=False)]
  • 方式二:复用之前的筛选结果,通过索引删除行,避免重复计算:
df2_processed = df2.drop(df_to_delete.index)

3. 分别保存到CSV文件

最后把两个DataFrame分别保存到对应的CSV文件即可,index=False可以避免把DataFrame的索引列写入CSV,你可以根据需求调整:

# 保存被删除的行到CSV
df_to_delete.to_csv("deleted_rows.csv", index=False)
# 保存处理后的原数据到CSV
df2_processed.to_csv("processed_df2.csv", index=False)

如果遇到空值处理、特殊匹配规则这类细节问题,随时可以再探讨!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.08 07:47:40