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

如何删除DataFrame中from和to列均含指定列表元素的行

问题描述

现有如下DataFrame:

from to value 
A    B   2
Z    B   5
C    A   7
A    C   7
D    E   7
G    H   5
H    E   4
F    C   2
A    P   4
..

以及ID列表:

lst = ['A', 'C', 'D', 'F']

需求:删除from列和to列的值同时属于该列表的行,期望得到的结果如下:

from to value 
A    B   2
Z    B   5
D    E   7
G    H   5
H    E   4
A    P   4
..
解决方案

可以利用Pandas的布尔索引实现需求,具体代码如下:

import pandas as pd

# 构造示例DataFrame(实际使用时替换为你的原始数据)
df = pd.DataFrame({
    'from': ['A', 'Z', 'C', 'A', 'D', 'G', 'H', 'F', 'A'],
    'to': ['B', 'B', 'A', 'C', 'E', 'H', 'E', 'C', 'P'],
    'value': [2, 5, 7, 7, 7, 5, 4, 2, 4]
})

lst = ['A', 'C', 'D', 'F']

# 筛选出不同时满足from和to都在列表中的行
filtered_df = df[~(df['from'].isin(lst) & df['to'].isin(lst))]
print(filtered_df)

代码说明

  • df['from'].isin(lst):检查from列的每个值是否存在于目标列表,返回布尔类型的Series
  • df['to'].isin(lst):同理检查to列的值是否在列表中
  • &:执行逻辑与操作,得到标记“from和to都在列表内”的布尔Series
  • ~:对上述结果取反,筛选出需要保留的行(即不同时满足两个条件的行)

运行代码后即可得到符合预期的DataFrame。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 17:40:52