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

如何在无列名的Pandas DataFrame中获取含True值的列索引?

获取DataFrame中True值所在的列索引

假设你的DataFrame对象名为df,以下几种方法可以快速定位单行DataFrame中True值对应的列索引:

方法1:利用idxmax()

因为True在数值运算中等价于1,False等价于0,idxmax()会返回第一个最大值(即第一个True)所在的列索引:

# 构造示例DataFrame
import pandas as pd
df = pd.DataFrame([[True, False, False, False, False, False, False, False]])

# 获取列索引
target_index = df.loc[0].idxmax()
print(target_index)  # 输出:0

方法2:布尔筛选列

通过布尔值直接筛选出值为True的列,再提取其索引:

target_index = df.columns[df.loc[0]].tolist()[0]
print(target_index)  # 输出:0

方法3:结合eq()和any()

先判断每列是否存在True,再筛选出符合条件的列索引:

target_index = df.eq(True).any()[lambda x: x].index[0]
print(target_index)  # 输出:0

以上方法均适用于你提供的两种场景,无论是True在第0列还是第4列,都能准确返回对应的列索引。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 06:00:47