首页 > 解决方案 > 如何根据 MultiIndex 的一部分将 DataFrame 拆分为多个 DataFrame?

问题描述

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

前任:


工程学院


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


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

标签: pythonpandasdataframeweb-scraping

解决方案


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

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

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


推荐阅读