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

如何筛选DataFrame中首行值为0的列生成新DataFrame

实现方案

核心逻辑

首先提取DataFrame的第一行生成布尔判断条件,筛选出符合第一行值为0的列,再对原DataFrame做列索引即可得到结果。

代码实现

import pandas as pd

# 构造示例数据(实际使用时替换为你自己的df即可)
df = pd.DataFrame({
    'a': [1, 2, 3],
    'b': [0, 7, 5],
    'c': [3, 2, 2],
    'd': [0, 2, 1]
})

# 核心筛选代码
new_df = df.loc[:, df.iloc[0] == 0]

语法说明

  • df.iloc[0] 按位置取DataFrame的第一行,返回带列名的Series对象
  • df.iloc[0] == 0 生成布尔掩码序列,第一行值为0的对应列位置为True,其余为False
  • df.loc[:, 布尔掩码] 中:表示保留所有行,后跟的布尔掩码指定保留的列,最终输出符合要求的新DataFrame

运行后输出的new_df结果如下:

b  d
0  0  0
1  7  2
2  5  1

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 23:45:02