查找具有True值的列

时间:2018-10-08 04:02:37

标签: python pandas

我有一个DataFrame,其中的列在一行中只有一个True(例如下面的df)。我如何用该行具有True的列索引构成一列?在现实生活中,矩阵很大,因此我避免使用for循环并应用。

df = pd.DataFrame([[True,False,False],
                   [True,False,False],
                   [False,True,False],
                   [False,False,True],
                   [True,False,False],
                   ])

答案应该像……

df['TrueColIndex'] = [0,0,1,2,1]

谢谢!

1 个答案:

答案 0 :(得分:1)

这是idxmax

df.idxmax(1)
Out[444]: 
0    0
1    0
2    1
3    2
4    0
dtype: int64