如何合并基于另一列的多行?

时间:2018-11-06 20:14:17

标签: python pandas dataframe

我有以下数据框:

**Postcode  Borough Neighbourhood**
0   M1B Scarborough Rouge
1   M1B Scarborough Malvern
2   M1C Scarborough Highland Creek
3   M1C Scarborough Rouge Hill
4   M1C Scarborough Port Union

每当邮编列中有重复的条目时,我都希望将“邻里时间”列中的条目合并。例如,在输出中,我只希望一次输入“ M1B”,并在“邻居”列中输入“ Rouge”和“ Malvern”,并用逗号分隔:

Postcode
M1B                           Rouge,Malvern
M1C    Highland Creek,Rouge Hill,Port Union
M1E         Guildwood,Morningside,West Hill
M1G                                  Woburn
M1H                               Cedarbrae

这是我当前得到的输出,但是它是一个系列,而不是一个数据框,并且我错过了Borough对话。我使用了以下代码:

df = dataframe.groupby('邮政编码')['邻居'] .apply(','。join) df.head()

请帮助我将所有三个列都放在一个数据框中,而不是一个序列中。

1 个答案:

答案 0 :(得分:0)

尝试一下:

df=dataframe.groupby(['Postcode', 'Borough']).Neighbourhood.apply(', '.join).reset_index()
df.head()