使用 MultiIndex 提供给 DataFrame 的数据结构

Data structure to provide to DataFrame with MultiIndex

我用 MultiIndex 添加了一些 headers,但提供给 DataFrame 的数据结构发生了变化。事实上,我曾经使用列表字典,但现在不起作用。

这是我的代码:

data_1 = {'a': ['d', 'd', 'd'], 
          'b': ['4', 'f', '4'], 
          'c': ['f', 't', 't'], 
          'd': ['38', 'B24t', 'dod']
}
col = pd.MultiIndex.from_arrays([['one', 'one', 'one', 'two'], 
                                 ['a', 'b', 'c', 'd']]
)
data = pd.DataFrame(data_1, columns=col)

但是列的值为空:

这就是我想要做的:

set_axis

通过尝试将 col 对象传递给 DataFrame 构造函数,Pandas 试图将 data_1keys 与中的值对齐col...而且它没有排队。所以你可以 set_axis 事后改为。

data = pd.DataFrame(data_1).set_axis(col, axis=1)

data

  one         two
    a  b  c     d
0   d  4  f    38
1   d  f  t  B24t
2   d  4  t   dod

或者,您可以在传递给构造函数的字典的键中提供 MultiIndex 信息。

data_1 = {
    ('one', 'a'): ['d', 'd', 'd'],
    ('one', 'b'): ['4', 'f', '4'],
    ('one', 'c'): ['f', 't', 't'],
    ('two', 'd'): ['38', 'B24t', 'dod']
}
data = pd.DataFrame(data_1)

data

  one         two
    a  b  c     d
0   d  4  f    38
1   d  f  t  B24t
2   d  4  t   dod