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

Pandas中如何将DataFrame列与单值对比并筛选匹配行

实现代码

直接提取df1中的目标匹配值,通过布尔索引筛选行即可:

import pandas as pd

# 原有DataFrame定义
data = {'a':['a','b','c','d','e','f','g'],
    'b':['Y','N','Y','Y','Y','N','Y']}
df = pd.DataFrame(data)

data1 = ['N']
df1 = pd.DataFrame(data1, columns=['Y/N'])

# 核心筛选逻辑
match_value = df1.iloc[0, 0]  # 取df1第一个单元格的存储值,也可写为df1.loc[0, 'Y/N']
result = df[df['b'] == match_value].reset_index(drop=True)

执行后result的输出和你预期完全一致:

a  b
0  b  N
1  f  N

如果后续df1中会存入多个待匹配值,可以直接用isin()方法,单值、多值匹配场景都能兼容,不需要调整逻辑:

result = df[df['b'].isin(df1['Y/N'])].reset_index(drop=True)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 20:01:20