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

如何根据DataFrame第0行的取值删除对应的列

Pandas按条件删除列实现方案

核心逻辑是先通过第0行的值生成保留列的筛选条件,再对原DataFrame做列过滤即可,一行代码就能实现:

import pandas as pd

# 核心代码
df = df.loc[:, df.iloc[0] != 'rejected']

代码解释

  • df.iloc[0]:取DataFrame第0行的全量数据,返回和列名一一对应的Series对象
  • df.iloc[0] != 'rejected':生成布尔值掩码,值为True对应的列就是第0行不等于rejected、需要保留的列
  • df.loc[:, 掩码]:保留所有行,仅筛选掩码为True的列

可选优化(适配异常情况)

如果怕第0行的值存在前后空格、大小写不一致的问题(比如出现Rejected、rejected这类异常值),可以对值做标准化处理后再判断:

df = df.loc[:, df.iloc[0].astype(str).str.strip().str.lower() != 'rejected']

分步写法(适合初学者理解逻辑)

# 1. 取第0行全量数据
row0_data = df.iloc[0]
# 2. 筛选出要保留的列名
keep_columns = row0_data[row0_data != 'rejected'].index
# 3. 对原DataFrame做列过滤
df = df[keep_columns]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 14:06:02