如何根据MultiIndex的一部分将一个DataFrame拆分为多个DataFrame?

问题描述 投票:0回答:1

对于一个项目,我正在使用BeautifulSoup为我的大学抓取一些表调度数据,然后使用pandas.read_html()将其读取到DataFrame中。但是,数据位于一个大表中,该表使用两个标题从视觉上分为多个表:大学标题(即“工程学院”),然后是每个列的标题(即“课程”,“开始”)。

ex:


工程学专业


课程|开始|结束| ...


Pandas正确地将标题解析为一个MultiIndex,其中每个索引元组的第一部分是学院,第二部分是列标题。但是,我想要具有单个列索引的多个DataFrame,并由大学分开。我该怎么做?

python pandas dataframe web-scraping
1个回答
0
投票

如果我理解正确,它是大学名称的多级索引,后跟各列,您想按大学名称进行拆分。

Assuming df is your multiindex column dataframe,
di = {}
for i in df.columns.levels[0]:
    di[i] = df[i]

这将创建一个包含大学的键值对和相应数据框的字典

© www.soinside.com 2019 - 2024. All rights reserved.