熊猫:如何在groupby之后获得一个特定的群体?

时间:2014-03-28 01:23:21

标签: python pandas

我想按一个名为' A'的列对数据框进行分组,然后检查某个特定的组。

grouped = df.groupby('A', sort=False)

但是,我不知道如何访问群组,例如,我希望

grouped.first() 

会给我第一组

或者

grouped['foo'] 

会给我A组==' foo'。

然而,熊猫并没有这样的工作。

我无法在网上找到类似的例子。

2 个答案:

答案 0 :(得分:6)

尝试:grouped.get_group('foo'),这就是您所需要的。

答案 1 :(得分:2)

from io import StringIO # from StringIO... if python 2.X
import pandas
data = pandas.read_csv(StringIO("""\
area,core,stratum,conc,qual
A,1,a,8.40,=
A,1,b,3.65,=
A,2,a,10.00,=
A,2,b,4.00,ND
A,3,a,6.64,=
A,3,b,4.96,=
"""), index_col=[0,1,2])

groups = data.groupby(level=['area', 'stratum'])
groups.get_group(('A', 'a')) # make sure it's a tuple

                    conc qual
area core stratum            
A    1    a         8.40    =
     2    a        10.00    =
     3    a         6.64    =
相关问题