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

如何在Pandas中按条件值过滤行并保留完整行列结构

你当前的代码仅生成了用于筛选行的布尔掩码,并没有用该掩码索引原数据框的全量列数据,因此仅得到一维布尔向量。

正确实现代码(Pandas场景)

如果是按列的位置取最左侧第一列(和你的需求一致,不依赖列名):

# 生成第一列小于0.02的布尔掩码,iloc[:,0]对应位置索引的第一列(pandas索引从0开始)
mask = df.iloc[:, 0] < 0.02
# 用掩码过滤行,默认保留所有列
df_new = df[mask]

也可以合并为一行写法:

df_new = df[df.iloc[:, 0] < 0.02]

如果你知道第一列的具体列名(例如列名为value),也可以用列名直接索引,可读性更高:

df_new = df[df['value'] < 0.02]

注意事项

  • pandas的位置索引iloc从0开始计数,如果你写iloc[:,1]会取到第二列,请注意对应你的实际需求调整索引值
  • 不要直接写df[:, 0],该写法在pandas中仅适用于多层索引场景,普通数据框按位置取列必须使用iloc属性

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 00:27:05