如何在熊猫中创建多索引数据框?

时间:2019-10-16 07:03:59

标签: pandas

如何在熊猫中创建多索引数据enter image description here框架?

1 个答案:

答案 0 :(得分:1)

第一个选项

一种可能的解决方案是从元组中创建MultiIndex

从定义源元组开始:

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

每个元组在连续的级别上包含各自的列名称。

然后创建MultiIndex:

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)