Han*_*yle 2 python numpy pandas
如果值= 1,我如何在行之间进行迭代并在一列中打印列名称
mydata = [{'a' : '0', 'b': 1, 'c': 0}, {'a' : 1, 'b': 0, 'c':1}, {'a' : '0', 'b': 1, 'c':1}]
df = pd.DataFrame(mydata)
a b c Result
0 1 0 b
1 0 1 a , c
0 1 1 b , c
Run Code Online (Sandbox Code Playgroud)
结果仅显示等于1的列名称
运用 dot
df['New']=df.astype(int).dot(df.columns+',').str[:-1]
df
Out[44]:
a b c New
0 0 1 0 b
1 1 0 1 a,c
2 0 1 1 b,c
Run Code Online (Sandbox Code Playgroud)