Pandas:如何在groupby之后获取特定的组?

7

我想按列'A'对数据框进行分组,并检查特定的分组。

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

然而,我不知道如何访问一个组,例如,我希望
grouped.first() 

我需要第一组的数据。

或者

grouped['foo'] 

我希望能得到符合条件 A=='foo' 的组。

然而,Pandas 不是这样工作的。

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


将其标记为重复意味着其他用户未来的搜索将更加有效 :) http://stackoverflow.com/help/duplicates - Andy Hayden
2个回答

10
尝试使用grouped.get_group('foo'),这就是你需要的。

4
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    =

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接