首页 > 解决方案 > 如何在熊猫中创建多索引数据框?

问题描述

如何在此处输入图像描述在 pandas 中创建多索引数据框?

标签: pandas

解决方案


第一个选项

一种可能的解决方案是从 tuples创建 MultiIndex :

从定义源元组开始:

tpl = [('', 'Material'), ('', 'Brand'),
    ('abcd.com', 'Stock'), ('abcd.com', 'Sales'), ('abcd.com', 'Leftover'),
    ('xyz.com',  'Stock'), ('xyz.com',  'Sales'), ('xyz.com', 'Leftover')]

每个元组在连续级别包含相应的列名。

然后创建多索引:

cols = pd.MultiIndex.from_tuples(tpl)

现在你可以创建你的DataFrame,调用例如:

df = pd.DataFrame(<your_data>, columns=cols)

另外的选择

第二种选择是从数组创建 MultiIndex :

源数据实际上是一个列表,其中包含每个级别的列名(也是列表):

arr = [[ '', '', 'abcd.com', 'abcd.com', 'abcd.com', 'xyz.com', 'xyz.com', 'xyz.com' ],
       [ 'Material', 'Brand', 'Stock', 'Sales', 'Leftover', 'Stock', 'Sales', 'Leftover']]

然后,要创建 MultiIndex,请调用:

ind = pd.MultiIndex.from_arrays(arr)

推荐阅读