嗨,我有以下数据框:
col1 col2 col3 col4 col5
row1 0 1 0 0 0
row2 0 0 0 0 1
我想创建一个像这样的数据框
row1 col2
row2 col5
实际上,我想选择值为1的列名称。
答案 0 :(得分:0)
一种方法可能是
df.idxmax(1)
使用给定的测试数据:
In [113]: df
Out[113]:
col1 col2 col3 col4 col5
row1 0 1 0 0 0
row2 0 0 0 0 1
In [114]: df.idxmax(1)
Out[114]:
row1 col2
row2 col5
dtype: object
根据您在下面提到的评论,如果包含'row1'
和'row2'
的列还不是您的索引,则可以先使用df.set_index
,然后使用idxmax
作为以上:
In [120]: df
Out[120]:
index col1 col2 col3 col4 col5
0 row1 0 1 0 0 0
1 row2 0 0 0 0 1
In [121]: df.set_index('index').idxmax(1)
Out[121]:
index
row1 col2
row2 col5
dtype: object