将层次结构索引的Series转换为序列

时间:2017-03-06 21:30:15

标签: python list pandas sequence hierarchical

我有以下大熊猫系列:

import pandas as pd
import numpy as np
data= pd.Series(np.random.randn(10), index =[['a','a','a','b','b','b','c','c','d','d'],[1,2,3,1,2,3,1,2,2,3]])

哪个输出:

a  1   -1.079086
   2    0.017873
   3    0.528414
b  1    1.462864
   2    0.314324
   3    1.194004
c  1   -0.723474
   2    2.431482
d  2    1.646265
   3    0.112295
dtype: float64

我想获得一个序列,其中包含由第二级索引组成的列表作为元素。那就是我想获得一些形式的东西:

[[1,2,3], [1,2,3], [1,2], [2,3]]

采用正确/有效的方式是什么?

1 个答案:

答案 0 :(得分:3)

试试这个:

In [58]: data.reset_index().groupby('level_0')['level_1'].apply(list).values.tolist()
Out[58]: [[1, 2, 3], [1, 2, 3], [1, 2], [2, 3]]