2017-10-19 243 views
0

我有從多指標數據幀(與pivot_table製造),看起來像迭代熊貓據幀行

  col1 col2 col3 
item 1 a 0 0 0 
     b 1 1 1 
item 2 a 0 0 0 
     c 1 2 3 

凡第2列的索引。我想「1項目」

col1 col2 col3 
a 0 0 0 
b 1 1 1 

,並可能分裂迭代每一行,並獲得子表即再次進入

col1 col2 col3 
a 0 0 0 

這些值是最初得到轉化爲卡在GUI

我試過改變索引,iterrows,xs的各種組合,但我似乎總是隻能使用(index1,index2)像(item 1,a,0,0,0)我想將它們拆分爲(項目1,{a:[0,0,0],b:[0,0,0]})

回答

2

使用

In [4482]: for i, g in df.groupby(level=0): 
     ...:  print g.loc[i] 
     ...: 
    col1 col2 col3 
a  0  0  0 
b  1  1  1 
    col1 col2 col3 
a  0  0  0 
c  1  2  3 

一個多水平

In [4488]: for i, g in df.groupby(level=0): 
     ...:  print '--------Parent--------', i 
     ...:  print g.loc[i] 
     ...:  for ii, gg in g.loc[i].groupby(level=0): 
     ...:   print '----------child--------', ii 
     ...:   print gg 
     ...: 
--------Parent-------- item 1 
    col1 col2 col3 
a  0  0  0 
b  1  1  1 
----------child-------- a 
    col1 col2 col3 
a  0  0  0 
----------child-------- b 
    col1 col2 col3 
b  1  1  1 
--------Parent-------- item 2 
    col1 col2 col3 
a  0  0  0 
c  1  2  3 
----------child-------- a 
    col1 col2 col3 
a  0  0  0 
----------child-------- c 
    col1 col2 col3 
c  1  2  3