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

如何用Pandas筛选Excel单列中100到200之间的数值?

Pandas单列数值范围筛选实现方案

问题原因

你之前用df>100 and df<200报错,是因为Python的and运算符仅支持单个布尔值判断,而df>100这类操作返回的是布尔Series(每个元素对应一个布尔结果),需要用Pandas的元素级逻辑运算符&,且每个条件需加括号避免优先级冲突。

两种可行实现方法

假设你读取的单列DataFrame为df,以下两种方式都能筛选出100到200之间(不含边界)的数值:

方法1:用&组合条件

如果知道列名(比如列名为num):

filtered_df = df[(df['num'] > 100) & (df['num'] < 200)]

如果不确定列名,直接取第一列:

filtered_df = df[(df.iloc[:, 0] > 100) & (df.iloc[:, 0] < 200)]

方法2:用between方法(更简洁)

between方法可以直接指定范围,通过inclusive参数控制是否包含边界:

# inclusive='neither' 表示不包含100和200,符合需求
filtered_df = df[df.iloc[:, 0].between(100, 200, inclusive='neither')]

转成目标列表格式

如果需要将筛选结果转为你示例中的列表形式:

list_range = filtered_df.iloc[:, 0].tolist()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 08:52:06