gpt4 book ai didi

python - 展平/删除分层列标题

转载 作者:太空宇宙 更新时间:2023-11-04 00:58:53 26 4
gpt4 key购买 nike

我有以下数据框,它是执行 groupby + 聚合总和的结果:

df.groupby(['id', 'category']).agg([pd.Series.sum])

supply stock
sum sum
id category
4 abc 161 -0.094
6 sde -76 0.150
23 hgv 64 -0.054
1 wcd -14 0.073
76 jhf -8 -0.057

由于 groupby 和 agg,列标题现在是元组。如何将列标题更改回单个值,即:列标题需要为 supplystock。我只需要从标题中删除 sum

最佳答案

如果您使用 sum,“聚合函数名称”将不会创建为列的一部分(作为 MultiIndex):

df.groupby(['id', 'category']).sum()

要删除它们,您可以降低关卡:

df.columns = df.columns.droplevel(1)

例如:

In [11]: df
Out[11]:
supply stock
sum sum
0 0.501176 0.482497
1 0.442689 0.008664
2 0.885112 0.512066
3 0.724619 0.418720

In [12]: df.columns.droplevel(1)
Out[12]: Index(['supply', 'stock'], dtype='object')

In [13]: df.columns = df.columns.droplevel(1)

In [14]: df
Out[14]:
supply stock
0 0.501176 0.482497
1 0.442689 0.008664
2 0.885112 0.512066
3 0.724619 0.418720

关于python - 展平/删除分层列标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33765660/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com