python - 在python中加入相同数据框的多列
问题描述
我想将同一数据框的多列连接成一列。列有任何标签。
输入:
0 1 2 3 4
a b c d e
结果:
0
a,b,c,d,e
请帮我解决一下这个。
我已经试过了data1['all'] = data[data.columns[1:]].apply(lambda x: ','.join(x.dropna().astype(str)),axis=1)
但我无法获得所需的结果。
解决方案
您的解决方案对我有用,只需稍作修改即可删除第一列并分配给相同的列DataFrame
:
data['all'] = data.apply(lambda x: ','.join(x.dropna().astype(str)),axis=1)
如果没有缺失值且没有数值:
data['all'] = data.apply(','.join,axis=1)
print (data)
0 1 2 3 4 all
0 a b c d e a,b,c,d,e
如果需要新的一列DataFrame
:
df = = data.apply(lambda x: ','.join(x.dropna().astype(str)),axis=1).to_frame('new')
#df = data.apply(','.join,axis=1).to_frame('new')
print (df)
new
0 a,b,c,d,e
推荐阅读
- android - 删除片段内的按钮单击片段
- flutter - Flutter Scaffold、Actions 和 End Drawer?
- java - 为什么我总是收到“
我的 Window 方法中出现“预期”错误? - oracle - oracle中的dbms_output、输出变量、输出脚本和输出结果有什么区别
- entity-framework - Fluent API 单一关系模型
- r - 将附加参数映射到 purrr
- spring-boot - 如何在没有 SSL 配置的情况下使用 spring boot 和 tomcat 启用 http2
- android - Firebase 项目已删除,但在 Android Studio 中仍显示已连接
- django - 动态查询 Django 构建
- regex - 增量正则表达式匹配