Python pandas系列multiindex迭代

时间:2018-04-10 14:10:15

标签: python pandas series

我已经聚合了一些数据,并且我希望将聚合值恢复到另一个数据帧中。我已经汇总了这样的数据

bycluster_type = df.groupby(['cluster', 'Type'])
tCount = bycluster_type['Type'].agg([len])

编辑: 从这一点开始,我犯了一些错误,我现在已经纠正了这些错误,并添加了一些新的想法。

tCount 现在是一个带有MultiIndex的DataFrame。我现在要做的是获取集群类型和相应的以将其与其他一些数据放在一起在另一个数据框中。例如:

>>> tCount
                 len
cluster Type
1.0     M        1
2.0     M        7
4.0     M        2

所以下一步是获取索引和行:

index, row = next(tCount.index.values)

接下来我要做的是将 index 元组解压缩到 cluster type 并获取 len 行的值。

cluster, type = index
val = row['len']

是否有更高效或更优雅的方式来实现我的目标?

修改:一些示例数据

cluster, Type, foo
      1,    M,   f
      1,    T,   o
      1,    S,   o
      2,    M,   f
      2,    M,   o
      3,    T,   o

1 个答案:

答案 0 :(得分:1)

调试代码,发现tCount会产生MultiIndex数据帧。

您不需要通过索引进行迭代,df = tCount.reset_index()应该可以解决问题。