Python Pandas:按列分组并查看所有列的内容?

时间:2015-04-23 15:59:17

标签: python pandas group-by aggregation

我有一个这样的数据框:

org     group   count
org1      1       2
org2      1       2
org3      2       1
org4      3       3
org5      3       3
org6      3       3

这就是我想要的,来自“组”列中每个独特组的一个条目:

org     group   count
org1      1       2
org3      2       1
org4      3       3

我按命令使用以下组,但我仍然可以看到所有行:

df.groupby('group').head()

是否有人知道如何获得预期的结果?

2 个答案:

答案 0 :(得分:3)

你可以在drop_duplicatesgroup吗?

In [172]: df.drop_duplicates('group')
Out[172]:
    org  group  count
0  org1      1      2
2  org3      2      1
3  org4      3      3

此外,df.drop_duplicates(['group', 'count'])适用于此情况。

然而,这可能不是最好的一种非常灵活的方法。 @ EdChum的Answer提供了灵活性的指导。

答案 1 :(得分:1)

groupby对象上调用first,如果要将分组索引作为列返回,则可以选择调用reset_index

In [448]:

df.groupby('group').first().reset_index()
Out[448]:
   group   org  count
0      1  org1      2
1      2  org3      1
2      3  org4      3