首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将不同列的1和0的值替换为数据帧的单个列?

问如何将不同列的1和0的值替换为数据帧的单个列?
EN

Stack Overflow用户
提问于 2020-01-12 01:36:55
回答 1查看 22关注 0票数 1

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

​

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-12 01:43:32

如果每行始终只有一个1,请使用DataFrame.dot

代码语言:javascript
复制
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中删除

代码语言:javascript
复制
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      c
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59696968

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档