说我有一个像这样的熊猫数据框:
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())))