在多次聚合后保留列

2024-04-19 14:58:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在一个数据帧上进行多次累加,问题是我想保持列在聚合上

df3 = pd.DataFrame({'X' : ['A', 'B', 'A', 'B'], 'Y' : [1, 4, 3, 2]})
df3.groupby('X', as_index=False).agg('sum')

   X  Y
0  A  4
1  B  6

这很好,但我想要的是像这样的多个聚合

df3 = pd.DataFrame({'X' : ['A', 'B', 'A', 'B'], 'Y' : [1, 4, 3, 2]})
df3.groupby('X', as_index=False).agg(['sum', 'mean'])

它给了我

    Y     
    sum mean
X         
A   4    2
B   6    3

但我想要这个

    X   Y     
        sum mean

0   A   4   2
1   B   6   3

Tags: 数据falsedataframeindexasmeanaggpd
1条回答
网友
1楼 · 发布于 2024-04-19 14:58:22

要将X从索引移动到列,请使用reset_index

In [4]: df3 = pd.DataFrame({'X' : ['A', 'B', 'A', 'B'], 'Y' : [1, 4, 3, 2]})

In [5]: df3.groupby('X', as_index=False).agg(['sum', 'mean']).reset_index()
Out[5]: 
   X   Y     
     sum mean
0  A   4    2
1  B   6    3

相关问题 更多 >