繁体   English   中英

将 numpy 矩阵的 Pandas 系列转换为 Multiindex 系列

[英]convert pandas Series of numpy matricies to Multiindex Series

我有一个熊猫系列的麻木矩阵。

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]])

我怎样才能做到这一点?

它是 unnest list + set_index

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM