根据值从多标签编码中提取列名

时间:2018-12-10 17:22:13

标签: python pandas

说我有一个像这样的熊猫数据框:

    Course_2013     AP  Advanced    Vocational  Basic   ESL 
0   7th Math Enrich  0    1             0         1      0   
1   8th Math Enrich  0    1             1         0      1   
2   8th Science Enr  0    1             0         0      0   
3   Accounting I     0    0             1         1      0               

现在,我尝试提取一个列表列表,其中包含对应值等于1的每一行的所有列标签。

像这样:

[['Advanced','Basic'],['Advanced','Vocational','ESL'],['Advanced'],['Vocational','Basic']]

这是到目前为止我正在使用的代码,但是它非常慢。有没有更有效的方法,例如更快的方法?

df = df[df.columns[1:]]
multi_labels = list()
for i in range(0,len(df )):
    multi_labels.append(list(set(df.iloc[i][df.iloc[i].values == 1].index.tolist())))

0 个答案:

没有答案