在python中,0和1需要转置到适当的头上。如何才能做到这一点并获得列final_list?

发布于 2020-01-12 01:43:32
如果每行始终只有一个1,请使用DataFrame.dot
df = pd.DataFrame({'a':[0,1,0],
'b':[1,0,0],
'c':[0,0,1]})
df['Final'] = df.dot(df.columns)
print (df)
a b c Final
0 0 1 0 b
1 1 0 0 a
2 0 0 1 c如果可能,多个1还会添加分隔符,然后通过Series.str.rstrip将其从输出Series中删除
df = pd.DataFrame({'a':[0,1,0],
'b':[1,1,0],
'c':[1,1,1]})
df['Final'] = df.dot(df.columns + ',').str.rstrip(',')
print (df)
a b c Final
0 0 1 1 b,c
1 1 1 1 a,b,c
2 0 0 1 chttps://stackoverflow.com/questions/59696968
复制相似问题