python - Pandas groupby(...).mean() 丢失 key

标签 python pandas pandas-groupby

我的数据框 rounds(这是从另一个数据框中删除一列的结果)具有以下结构(不能发布图片,抱歉):

----------------------------
|type|N|D|NATC|K|iters|time|
----------------------------
rows of data
----------------------------

我使用 groupby 这样我就可以得到组的平均值,如下所示:

rounds = results.groupby(['type','N','D','NATC','K','iters'])
results_mean = rounds.mean()

我得到了我想要的方法,但我的 key 有问题。 results_mean 数据框具有以下结构:

----------------------------
|    | | |    | |     |time|
|type|N|D|NATC|K|iters|    |
----------------------------
rows of data
----------------------------

唯一识别的键是time(我执行了results_mean.keys())。

我做错了什么?我该如何解决?

最佳答案

在您的聚合数据中,time 是唯一的一列。其他的是指数。

groupby 有一个参数as_indexFrom the documentation :

as_index : boolean, default True

For aggregated output, return object with group labels as the index. Only relevant for DataFrame input. as_index=False is effectively “SQL-style” grouped output

所以你可以通过调用得到想要的输出

rounds = results.groupby(['type','N','D','NATC','K','iters'], as_index = False)
results_mean = rounds.mean()

或者,如果您愿意,您始终可以将索引转换为键 by using reset_index .使用

rounds = results.groupby(['type','N','D','NATC','K','iters'])
results_mean = rounds.mean().reset_index()

也应该有预期的效果。

关于python - Pandas groupby(...).mean() 丢失 key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29625531/

相关文章:

python - 预训练 Keras Xception 和 InceptionV3 模型

python - 基于可能值的自定义列表的 Groupby Pandas 数据框

python - 是否可以使用 groupby 拆分 Pandas 数据帧并将每个组与单独的数据帧合并

python - Django.db 导入错误

调用 exec 的 Python 内存错误

python - 如何在单元测试中使用 JSON 发送请求

python - 查找特定的顺序模式

python - 如何将持续时间(以小时为单位)添加到 HH :MM and obtain it in a new column pandas? 中的时间

python - 根据列中的最大值过滤 DataFrame - Pandas

python - Pandas :分组依据和数据透视表的区别