我想在进行分组和聚合操作后访问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"}})
现在,我要访问A的值为“ foo”的行。
当我尝试使用grouped[grouped["A"]=="foo"]
时,出现错误消息KeyError: 'A'
具体来说,我想要“ foo”的大小。
当我在线搜索时,我看到了一些与multiIndex相关的帖子。但是我无法使其正常工作。
这似乎是一个琐碎的问题。我是Pandas的新手,觉得有点难以理解。
答案 0 :(得分:1)
您应该使用loc
:
grouped.loc['foo']
Out[1]:
C size 3.0
mean 4.0
Name: foo, dtype: float64