将pandas系列numpy matricies转换为Multiindex系列

时间:2018-02-14 18:58:53

标签: python pandas numpy multi-index

我有一个大熊猫系列的大熊猫。

data = [[['a','b','c'],[6,3,4]],[['d','e','f'],[2,9,4]],[['g','h','i'],[9,6,4]]]
s = pd.Series(data = data)
s
Out[39]: 
0    [[a, b, c], [6, 3, 4]]
1    [[d, e, f], [2, 9, 4]]
2    [[g, h, i], [9, 6, 4]]

我想将其转换为多索引系列。

sf
Out[47]: 
0  a    6
   b    3
   c    4
1  d    2
   e    9
   f    4
2  g    9
   h    6
   i    4
dtype: int64

sf.index
Out[48]: 
MultiIndex(levels=[[0, 1, 2], ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i']],
           labels=[[0, 0, 0, 1, 1, 1, 2, 2, 2], [0, 1, 2, 3, 4, 5, 6, 7, 8]])

我该怎么做?

1 个答案:

答案 0 :(得分:1)

这是不必要的列表+ v=s.apply(pd.Series) m=list(map(len,v[0])) pd.DataFrame({'v1':v[0].sum(),'v2':v[1].sum()},index=v.index.repeat(m)).set_index('v1',append=True).v2 Out[142]: v1 0 a 6 b 3 c 4 1 d 2 e 9 f 4 2 g 9 h 6 i 4

nullable