首页 > 解决方案 > 从另一个数据框创建数据框

问题描述

我有一个如下所示的数据框

   Index  Batch    Name
    0        1      Jon
    1    
    2        2      Adam
    3         
    4        3      Voges
    5       
    6        4      Jon

我想从这个数据框创建另一个数据框,将批号组合在一起

Batch   Name/Batches
1        Jon(1,4)
2        Adam(2)
3        Voges(3)
4        Jon(1,4)

我该如何做到这一点,我应该从现有的 DF 创建一个新列表或ordereddict,然后将其转换为另一个 DF,或者这可以即时完成。

更新:在它们之间用空格编辑

标签: pythonpandas

解决方案


In [33]: df['Name/Batches'] = \
             df['Name'] + '(' + \
             df.groupby('Name')['Batch'].transform(lambda x: x.astype(str).str.cat(sep=',')) \
             + ')'

In [34]: df
Out[34]:
   Batch   Name Name/Batches
0      1    Jon     Jon(1,4)
1      2   Adam      Adam(2)
2      3  Voges     Voges(3)
3      4    Jon     Jon(1,4)

推荐阅读