Python 组合多个指示符列
我有一个dataframe,其中有多个列表示分类变量,列中的数据为1或0,作为指标,如下所示:Python 组合多个指示符列,python,numpy,pandas,Python,Numpy,Pandas,我有一个dataframe,其中有多个列表示分类变量,列中的数据为1或0,作为指标,如下所示: ID A B C D 100 1 0 0 0 101 0 0 1 0 102 0 1 0 0 103 0 0 0 1 我想将此信息表示为一列数据,例如: ID VALUE 100 A 101 C 102 B 103 D python中是否有实现此结果的方法
ID A B C D
100 1 0 0 0
101 0 0 1 0
102 0 1 0 0
103 0 0 0 1
我想将此信息表示为一列数据,例如:
ID VALUE
100 A
101 C
102 B
103 D
python中是否有实现此结果的方法?stack是一个非常方便的命令:
df2 = df.set_index('ID').stack().reset_index()
df2[df2[0] == 1][['ID', 'level_1']]
Out[370]:
ID level_1
0 100 A
6 101 C
9 102 B
15 103 D
这只是一个粗略的步骤,将输出的格式设置得很好,留给感兴趣的读者作为练习。完美!这正是我想要的。非常感谢。