groupby连接列?

时间:2016-10-10 22:11:54

标签: python pandas

我有一个" 1000行* 4列"数据帧:

a       b    c   d
1       aa   93  4
2       bb   32  3
...
1000    nn   78  2
**[1283 rows x 4 columns]**

我使用groupby根据3列对它们进行分组:

df.groupby(['a','b','c']).sum()

print(df)
a       b    c   d
1       aa   93  12
2       bb   32  53
...
1000    nn   78  38
**[1283 rows x 1 columns]**
然而,结果给了我一个" 1000行* 1列"数据帧。所以我的问题是,如果Groupby将列连接为一列?如果是,我该如何防止这种情况。我想在分组之后绘制我的数据,但我不能,因为它只能看到一列而不是全部4列。

编辑:当我调用列时,我只会收到最后一列,这意味着它无法读取' a''''' c&# 39;作为列,为什么这样,我怎么能再将它们标记为列。

df.columns
Index([u'd'], dtype='object')

1 个答案:

答案 0 :(得分:1)

你可以这样做:

df.groupby(['a','b','c'], as_index=False).sum()

或:

df.groupby(['a','b','c']).sum().reset_index()