[英]Iterate over Pandas dataframe rows
我有一个来自(用数据透视表制作)的MultiIndex数据框,看起来像
col1 col2 col3
item 1 a 0 0 0
b 1 1 1
item 2 a 0 0 0
c 1 2 3
前两列是索引。 我想遍历每一行并获取子表,即“项目1”
col1 col2 col3
a 0 0 0
b 1 1 1
并可能再次分为
col1 col2 col3
a 0 0 0
这些值最初在GUI中转换为卡
我已经尝试过各种更改索引,迭代,xs的组合,但我似乎总是只能使用(index1,index2)来获取东西,例如(item 1,a,0,0,0)将它们分开(例如,项目1,{a:[0,0,0],b:[0,0,0]})
采用
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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.