熊猫-连接标识符的值

时间:2018-12-04 15:34:46

标签: python pandas dataframe

我正在尝试以围绕标识符为基础的数据在熊猫中建立一个综合的数据框。

我的输入数据框:

>>> data = [['x', '34H52'], ['x', '38B55'], ['y',  '34H52'], ['y', '38B55'], ['z', '38B55'], ['z', '38B55']]                                                        
>>> df = pd.DataFrame(data, columns=['identifier', 'data'])                    
>>> df                                                                      
  identifier   data
0          x  34H52
1          x  38B55
2          y  34H52
3          y  38B55
4          z  38B55
5          z  38B55

我需要通过标识符来连接值。

我想要的输出:

  identifier         data
0          x  34H52,38B55
1          y  34H52,38B55
2          z  38B55,38B55

我对熊猫不是很有经验,所以我想知道熊猫是否可以直接做到这一点,如果可以,怎么办?

1 个答案:

答案 0 :(得分:0)

给予

>>> df                                                                      
  identifier   data
0          x  34H52
1          x  38B55
2          y  34H52
3          y  38B55
4          z  38B55
5          z  38B55

您可以按标识符分组,然后在聚合步骤中应用str.join

>>> df.groupby('identifier', as_index=False).agg(lambda s: ','.join(s))     
   identifier        data
0          x  34H52,38B55
1          y  34H52,38B55
2          z  38B55,38B55