Python 不规则元组的多索引

Python 不规则元组的多索引,python,pandas,multi-index,Python,Pandas,Multi Index,我有下面的元组 tups = zip(list('AAAABBBB'), zip(list('aabbaabb'), list('cdcdcdcd'))) tups [('A', ('a', 'c')), ('A', ('a', 'd')), ('A', ('b', 'c')), ('A', ('b', 'd')), ('B', ('a', 'c')), ('B', ('a', 'd')), ('B', ('b', 'c')), ('B', ('b', 'd'))] 我想用它

我有下面的元组

tups = zip(list('AAAABBBB'), zip(list('aabbaabb'), list('cdcdcdcd')))

tups

[('A', ('a', 'c')),
 ('A', ('a', 'd')),
 ('A', ('b', 'c')),
 ('A', ('b', 'd')),
 ('B', ('a', 'c')),
 ('B', ('a', 'd')),
 ('B', ('b', 'c')),
 ('B', ('b', 'd'))]
我想用它们创建一个熊猫多重索引

df = pd.DataFrame(np.arange(32).reshape(4, 8),
                  columns=pd.MultiIndex.from_tuples(tups))
但我在第二层得到了元组。如何获得所有三个级别

print df

       A                           B                     
  (a, c) (a, d) (b, c) (b, d) (a, c) (a, d) (b, c) (b, d)
0      0      1      2      3      4      5      6      7
1      8      9     10     11     12     13     14     15
2     16     17     18     19     20     21     22     23
3     24     25     26     27     28     29     30     31

你得把元组弄平。我是这样做的

new_tups = [(a, b, c) for a, (b, c) in tups]

df = pd.DataFrame(np.arange(32).reshape(4, 8),
                  columns=pd.MultiIndex.from_tuples(new_tups))