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

如何基于DataFrame的a列值小于6的条件筛选并打印数组

解决方法

要筛选出a列值小于6的完整行,直接用Pandas的布尔索引就能实现,代码如下:

import numpy as np
import pandas as pd

data = np.array([1, 7, 3, 6, 2, 8, 5, 9, 4]).reshape(3,3)
df = pd.DataFrame(data, index = ['One', 'Two', 'Three'], columns = ['a', 'b', 'c'])

# 筛选a列值小于6的所有行
filtered_df = df[df['a'] < 6]
print(filtered_df)

运行后输出结果:

a  b  c
One    1  7  3
Three  5  9  4
你之前的方法问题说明
  • 第一种方法np.less(df, df['a']<6):df['a']<6生成的是布尔数组[True, False, True],而np.less是用于元素间的大小比较,用整个DataFrame和布尔数组对比逻辑错误,会返回无意义的布尔矩阵。
  • 第二种方法np.where(df['a'] < 6, df):np.where需要三个参数(条件、满足条件的返回值、不满足条件的返回值),你只传入两个参数,返回的是符合条件元素的索引,而非筛选后的行数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 20:40:29