【发布时间】:2018-11-07 08:49:12
【问题描述】:
在 groupby-aggregate 中使用超过 1 个函数会导致多索引,然后我想将其展平。
示例:
df = pd.DataFrame(
{'A': [1,1,1,2,2,2,3,3,3],
'B': np.random.random(9),
'C': np.random.random(9)}
)
out = df.groupby('A').agg({'B': [np.mean, np.std], 'C': np.median})
# example output
B C
mean std median
A
1 0.791846 0.091657 0.394167
2 0.156290 0.202142 0.453871
3 0.482282 0.382391 0.892514
目前,我是这样手动完成的
out.columns = ['B_mean', 'B_std', 'C_median']
这给了我想要的结果
B_mean B_std C_median
A
1 0.791846 0.091657 0.394167
2 0.156290 0.202142 0.453871
3 0.482282 0.382391 0.892514
但我正在寻找一种方法来自动化这个过程,因为这很单调、耗时,并且允许我在重命名列时出现拼写错误。
在进行分组聚合时,有没有办法返回扁平索引而不是多索引?
我需要展平列以保存到文本文件,然后由不处理多索引列的不同程序读取。
【问题讨论】:
标签: pandas pandas-groupby