此案例主要演示了使用MultiIndex.from_product()函数根据DataFrame的多列数据创建笛卡儿积风格的多层索引的DataFrame。笛卡儿积简述如下:两个集合 A 与 B 的笛卡儿积就是 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。