我有一个包含以下总体布局的数据框:
id,ind_1,ind_2_ind_3
1,0,1,0
1,1,0,0
2,0,1,0
2,0,0,1
3,0,0,1
3,1,0,0
我想添加一个额外的列,当它们为'1'时,其值是原始指标名称,如下所示:
id,ind_1,ind_2,ind_3,ind_all
1,0,1,0,ind_2
1,1,0,0,ind_1
2,0,1,0,ind_2
2,0,0,1,ind_3
3,0,0,1,ind_3
3,1,0,0,ind_1
欢迎任何提示!
答案 0 :(得分:4)
你需要
df['ind_all'] = (df.iloc[:, 1:] == 1).idxmax(1)
id ind_1 ind_2 ind_3 ind_all
0 1 0 1 0 ind_2
1 1 1 0 0 ind_1
2 2 0 1 0 ind_2
3 2 0 0 1 ind_3
4 3 0 0 1 ind_3
5 3 1 0 0 ind_1