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列看起来相同,我如何实现这一目标?
答案 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())