10赞
361
当前位置:  开发笔记 > 编程语言 > 正文

如何使用pandas将多行组合成一行

如何解决《如何使用pandas将多行组合成一行》经验,为你挑选了1个好方法。

我需要将多行组合成一行,这将是简单的空间连接

    View of my dataframe:
  tempx        value
0  picture1         1.5
1  picture555       1.5
2  picture255       1.5
3  picture365       1.5
4  picture112       1.5

我希望数据帧像这样转换:(空格分隔)tempx值

  Expected output:
  tempx                                                       value
  0     picture1 picture555 picture255 picture365 picture112  1.5

  or
  as a python dict
  {1.5:{picture1 picture555 picture255 picture365 picture112}}

我尝试过的:

 df_test['tempx']=df_test['tempx'].str.cat(sep=' ')

这工作但它结合了所有列中的行,如下所示:

      tempx        value
0  picture1 picture555 picture255 picture365 picture112 1.5
1  picture1 picture555 picture255 picture365 picture112 1.5
2  picture1 picture555 picture255 picture365 picture112 1.5
3  picture1 picture555 picture255 picture365 picture112 1.5
4  picture1 picture555 picture255 picture365 picture112 1.5

有没有优雅的解决方案?



1> jezrael..:

你可以使用groupbyapply功能join:

print df.groupby('value')['tempx'].apply(' '.join).reset_index()
   value                                              tempx
0    1.5  picture1 picture555 picture255 picture365 pict...


很高兴可以帮到你!祝好运!
推荐阅读
author-avatar
艾灸养生加盟
艾灸加盟热线:037761297867 15638966697(王经理) 18237761726(周经理)
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有