按列值分组数据

嗨我有数据(在Excel和文本文件以及)像

C1 C2 C3 1 pa 1 qb 2 rc 2 sd 

我想要的输出如下所示:

 C1 C2 C3 1 p,qa,b 2 r,sc,d 

如何根据列值对数据进行分组。 我对任何东西都是开放的:任何库,任何语言,任何工具就像Python,bash甚至是excel?

我想我们可以在Python中使用pandas来做到这一点,但是我之前没有使用它。

任何导致赞赏。

首先pandas.read_excel – 输出是DataFrame

 df = pd.read_excel('file.xlsx') 

那么你可以使用groupbyagg join

 df = df.groupby('C1').agg(','.join).reset_index() print (df) C1 C2 C3 0 1 p,qa,b 1 2 r,sc,d 

如果df更多的列,并且只需要筛选C2C3

 df = df.groupby('C1')['C2','C3'].agg(','.join).reset_index() print (df) C1 C2 C3 0 1 p,qa,b 1 2 r,sc,d 

为了保存到excel文件使用DataFrame.to_excel ,显然没有index

 df.to_excel('file.xlsx', index=False)