我已经聚合了一些数据,并且我希望将聚合值恢复到另一个数据帧中。我已经汇总了这样的数据
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
答案 0 :(得分:1)
调试代码,发现tCount会产生MultiIndex数据帧。
您不需要通过索引进行迭代,df = tCount.reset_index()
应该可以解决问题。