如何合并Pandas中的行而不删除其他列?

时间:2019-11-27 15:08:34

标签: python pandas dataframe

This is how neigh looks like我的代码如下

import pandas as pd
import numpy as np
import requests
from bs4 import BeautifulSoup
res = requests.get("https://en.wikipedia.org/wiki/List_of_postal_codes_of_Canada:_M")
soup = BeautifulSoup(res.content,'lxml')
table = soup.find_all('table')[0] 
dfwiki = pd.read_html(str(table))
neigh = dfwiki[0]
delete_row = neigh[neigh["Borough"]=="Not assigned"].index
neigh = neigh.drop(delete_row)
neigh

我想合并具有相同邮政编码值的近邻列的行,但是当我使用以下groupby代码时,不会显示Borough列

nbh = neigh.groupby('Postcode')['Neighbourhood'].agg(','.join)
nbh

我尝试将Borough列放在上面的行中,但随后它组合了Borough列的所有相似行,这是不希望的。

nbh = neigh.groupby('Postcode')['Borough','Neighbourhood'].agg(','.join)
nbh

我希望合并邻域列,并以逗号分隔,但希望Borough列看起来相同,我如何实现这一目标?

我希望它看起来像这样: I want the following output

1 个答案:

答案 0 :(得分:1)

您可以采用每个邮政编码中出现的SELECT CONVERT(DATETIME, CONVERT(CHAR(8), Date , 112) + ' ' + CONVERT(CHAR(8), Time , 108)) FROM table_name; 的第一个值:

Borough
nbh = neigh.groupby('Postcode').agg({'Borough': 'first', 'Neighbourhood': ','.join})
print(nbh.head())