【发布时间】:2019-05-03 01:39:10
【问题描述】:
这是我的代码:
import pandas as pd
df = pd.DataFrame({'id': ['a', 'a', 'b', 'b', 'b'],
'v1': [1, 2, 3 ,4, 5],
'v2': [7, 6, 5, 4, 3],
'v3': [2, 4, 6, 8, 10]})
df.groupby('id').agg({'v1': ['count', 'sum'],
'v2': 'mean',
'v3': 'sum'})
我的问题是,每次我运行此代码(在 jupyter notebook 中)时,生成的数据框都有不同的列顺序。这是熊猫的错误吗?
我的下一步是重命名生成的数据框,但没有可重现的顺序,编写可重用的代码来做到这一点是不可能的。我该如何解决?
顺便说一句,我使用的是 python 3.5 和 pandas 0.23.0。
谢谢!
【问题讨论】:
-
字典在 Python 3.7 中排序。也许切换到那个?
-
我认为添加
.sort_index(1)应该确保您的列始终以相同的方式排序。
标签: pandas aggregate python-3.5 pandas-groupby