Python 3.x 如何在执行group by和AGGRATE操作后访问数据帧中的某一行
我想在group by和聚合操作之后访问Pandas数据帧中的一行Python 3.x 如何在执行group by和AGGRATE操作后访问数据帧中的某一行,python-3.x,pandas,dataframe,Python 3.x,Pandas,Dataframe,我想在group by和聚合操作之后访问Pandas数据帧中的一行 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.]})
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”]
时,我得到一个错误,说keyrorm:'A'
具体来说,我想要“foo”的尺寸
当我在网上搜索时,我看到了一些与多索引相关的帖子。但我无法让它工作
这似乎是一个微不足道的问题。我刚接触熊猫,觉得有点难理解。你应该使用
loc
:
grouped.loc['foo']
Out[1]:
C size 3.0
mean 4.0
Name: foo, dtype: float64
谢谢你的快速回复。这很有效。如何访问“size”中的值?@SrinidhiShankar您可以使用grouped.loc['foo',C'].sizegrouped.loc['foo',C']。size将大小返回为2。应该是3.0。但是,grouped.loc['foo','C'].mean正确地将值返回为4.0。如何将大小设置为3.0?