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

如何在Python/Pandas中删除列中含特定值的记录?

在Python中删除列中含特定值的记录的通用方案

下面分两种常用场景给出通用解决方案,覆盖原生数据结构和专业数据分析库的用法:

1. 处理原生列表数据

如果你的数据是以普通列表形式存储的,用列表推导式就能快速筛选掉特定值,写法简洁通用:

# 示例数据
campaign = [1, 1, 2, 2, 3, 3]
# 要剔除的目标值
target = 3
# 筛选后的数据
filtered_list = [item for item in campaign if item != target]
# 输出结果: [1, 1, 2, 2]

如果需要剔除多个值,只需把判断条件改成item not in [val1, val2, ...]即可。

2. 处理表格型数据(用Pandas)

如果你的数据是类似Excel表格的列数据,用Pandas库是最方便的选择,这也是处理结构化数据的通用方案:

import pandas as pd

# 构造示例DataFrame(模拟你的列数据)
df = pd.DataFrame({"Campaign": [1, 1, 2, 2, 3, 3]})
target = 3

# 方法1:布尔索引筛选(推荐,直观易读)
filtered_df = df[df["Campaign"] != target]

# 方法2:原地删除符合条件的行(适合不需要保留原数据的场景)
# df.drop(df[df["Campaign"] == target].index, inplace=True)

扩展:剔除多个特定值

如果要一次性剔除多个值,用isin()方法配合取反操作:

# 剔除值为1和3的记录
filtered_df = df[~df["Campaign"].isin([1, 3])]

注意事项

  • 确保目标值的类型和列中数据的类型一致:比如列里是数字3,就不要用字符串"3"作为目标值,否则会筛选失败。
  • Pandas的布尔索引返回的是原DataFrame的副本,不会修改原数据;如果要直接修改原数据,使用inplace=True参数。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 15:22:42