假设我有一个数据框:
sample = pd.DataFrame({'choice': [None, None, None],
'Active': [0, 0, 1],
'Completed': [1, 0, 0],
'Cancelled': [0, 1, 0]})
我想要一个结果:
sample = pd.DataFrame({'choice': ['Completed', 'Cancelled', 'Active']})
我想获取列名,具体取决于它们具有1。
答案 0 :(得分:1)
尝试pd.melt
data = pd.melt(sample,value_vars=['Active','Completed','Cancelled'],var_name='choice')
data= data[data['value']==1].drop(['value'],axis=1)
print(data)
choice
2 Active
3 Completed
7 Cancelled