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

如何在Python Pandas中直接按条件筛选并获取指定列?

一步完成条件筛选并提取指定列的最优方法

直接用loc方法就能一步到位,这是pandas中行+列精准筛选的标准写法,既高效又清晰:

target_series = df.loc[df['Heading 1'] > 50, 'Heading 2']

为什么你的where方法不符合需求?

你尝试的df['Heading 2'].where(df['Heading 1'] > 50)会保留原数据集的所有行,不满足Heading 1>50的位置会填充NaN,而不是只返回符合条件的行数据,这和你要的「仅返回满足条件的目标列」需求不符。

补充:其他可行写法(更推荐用loc)

你也可以用链式索引实现一步操作:

target_series = df[df['Heading 1'] > 50]['Heading 2']

不过这种写法可能触发SettingWithCopyWarning(如果后续要修改数据的话),而loc方法是更安全、更符合pandas推荐规范的写法。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 16:55:25