Python 剥离数据框单元,然后创建列
我试图从dataframe中获取信息,并将其拆分为具有以下标题名的列。信息全部塞进一个单元格 python新手,所以要温柔 谢谢你的帮助 我的代码:Python 剥离数据框单元,然后创建列,python,pandas,dataframe,beautifulsoup,Python,Pandas,Dataframe,Beautifulsoup,我试图从dataframe中获取信息,并将其拆分为具有以下标题名的列。信息全部塞进一个单元格 python新手,所以要温柔 谢谢你的帮助 我的代码: r=requests.get('https://nclbgc.org/search/licenseDetails?licenseNumber=80479') page_data = soup(r.text, 'html.parser') company_info = [' '.join(' '.join(info.get_text(", ", s
r=requests.get('https://nclbgc.org/search/licenseDetails?licenseNumber=80479')
page_data = soup(r.text, 'html.parser')
company_info = [' '.join(' '.join(info.get_text(", ", strip=True).split()) for info in page_data.find_all('tr'))]
df = pd.DataFrame(company_info, columns = ['ic_number, status, renewal_date, company_name, address, county, telephon, limitation, residential_qualifiers'])
print(df)
我得到的结果是:
['License Number, 80479 Status, Valid Renewal Date, n/a Name, DLR Construction, LLC Address, 3217 Vagabond Dr Monroe, N
C 28110 County, Union Telephone, (980) 245-0867 Limitation, Limited Classifications, Residential Qualifiers, Arteaga, Vi
cky Rodriguez']
更换df线路,如下所示: df=pd.DataFrame(公司信息,列=['ic_编号'、'status'、'renewal_date'、'company_名称'、'address'、'county'、'telephon'、'limitation'、'residential_限定符']) 列下提到的每一列都应该在引号内。否则,它将被视为一个单列。您可以在某些后期处理中使用:
url = 'https://nclbgc.org/search/licenseDetails?licenseNumber=80479'
#select first table form list of tables, remove only NaNs rows
df = pd.read_html(url)[0].dropna(how='all')
#forward fill NaNs in first column
df[0] = df[0].ffill()
#merge values in second column
df = df.groupby(0)[1].apply(lambda x: ' '.join(x.dropna())).to_frame().rename_axis(None).T
print (df)
Address Classifications County License Number \
1 3217 Vagabond Dr Monroe, NC 28110 Residential Union 80479
Limitation Name Qualifiers Renewal Date \
1 Limited DLR Construction, LLC Arteaga, Vicky Rodriguez
Status Telephone
1 Valid (980) 245-0867
耶斯雷尔,非常感谢。效果很好。巨蟒快把我逼疯了。你能推荐我在哪里可以找到一些关于你是如何处理这件事的信息吗。我想确保我理解它的作用和原因。@RobK-我不知道你的问题有什么真正简单的解决办法,我喜欢-尤其是现在每个女同性恋都要经历“艰难之路”的评论。我想我的思路是对的。我刚刚运行了更新后的代码,它删除了第一列“icense_number”。收回这一点,所有列都在那里,它们应该在那里。再次感谢你的帮助。