分组和聚合操作后如何访问Pandas DataFrame中的特定行

时间:2018-09-19 18:30:02

标签: python-3.x pandas dataframe

我想在进行分组和聚合操作后访问Pandas DataFrame中的一行。

import pandas as pd
df = pd.DataFrame({'A' : ['foo', 'bar', 'foo', 'bar',
                           'foo', 'bar'],
                    'B' : [1, 2, 3, 4, 5, 6],
                    'C' : [2.0, 5., 8., 1., 2., 9.]})

grouped = df.groupby('A').agg({"C":{"size","mean"}})

grouped

现在,我要访问A的值为“ foo”的行。 当我尝试使用grouped[grouped["A"]=="foo"]时,出现错误消息KeyError: 'A'

具体来说,我想要“ foo”的大小。

当我在线搜索时,我看到了一些与multiIndex相关的帖子。但是我无法使其正常工作。

这似乎是一个琐碎的问题。我是Pandas的新手,觉得有点难以理解。

1 个答案:

答案 0 :(得分:1)

您应该使用loc

grouped.loc['foo']
Out[1]: 
C  size    3.0
   mean    4.0
Name: foo, dtype: float64