如何使用Pandas按指定列的数值范围筛选DataFrame中的行
Pandas 筛选符合条件房源的实现方法
你可以通过两种常用方式实现需求,筛选逻辑为同时满足:房间数(Rooms)≤2、卫生间数(Bathrooms)≤2。
方法1:布尔索引(最常用)
filtered_df = df[(df["Rooms"] <= 2) & (df["Bathrooms"] <= 2)]
注意事项:
- 多条件逻辑与必须使用
&符号,不能使用Python原生and关键字 - 每个独立条件需要用小括号包裹,避免运算符优先级异常报错
方法2:query方法(写法更简洁)
filtered_df = df.query("Rooms <= 2 and Bathrooms <= 2")
该方法内部已经处理了运算符优先级和逻辑判断规则,不需要额外加括号和使用&符号。
样例数据运行结果
你提供的3条样例数据均不满足两个条件同时成立的要求,筛选后会得到空DataFrame。
内容的提问来源于stack exchange,提问作者programmer987
相关产品推荐
相关产品推荐

