Pandas数据分析快速上手500招(微课视频版)
上QQ阅读APP看书,第一时间看更新

023 根据DataFrame创建笛卡儿积多层索引

此案例主要演示了使用MultiIndex.from_product()函数根据DataFrame的多列数据创建笛卡儿积风格的多层索引的DataFrame。笛卡儿积简述如下:两个集合AB的笛卡儿积就是A的所有元素乘以B的所有元素的集合。当在Jupyter Notebook中运行此案例代码之后,根据如图023-1所示的DataFrame创建的笛卡儿积风格的多层索引的DataFrame的效果如图023-2所示。

图023-1

图023-2

主要代码如下。

在上面这段代码中,pd.MultiIndex.from_product([df.机构名称, df.行业, df.操作策略], names=df.columns).to_frame().loc[lambda x:x.apply(lambda s: s.notna().all(),axis=1)].astype(str).agg(sum,axis=1).to_frame('详细名单')表示根据df的3列数据创建笛卡儿积样式的多层索引的DataFrame。

此案例的主要源文件是MyCode\H541\H541.ipynb。