Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 剥离数据框单元,然后创建列_Python_Pandas_Dataframe_Beautifulsoup - Fatal编程技术网

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

我试图从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(", ", 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”。收回这一点,所有列都在那里,它们应该在那里。再次感谢你的帮助。