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"}})
现在我想访问 A 的值为“foo”的行。当我尝试使用grouped[grouped["A"]=="foo"]
时,我收到一条错误消息KeyError: 'A'
具体来说,我想要“foo”的大小。
在网上搜索的时候,看到几篇与multiIndex相关的帖子。但我无法让它工作。
这似乎是一个微不足道的问题。我是 Pandas 的新手,发现它有点难以理解。
解决方案
你应该使用loc
:
grouped.loc['foo']
Out[1]:
C size 3.0
mean 4.0
Name: foo, dtype: float64
推荐阅读
- c++ - 模板而不是接口的缺点是什么?(C++)
- node.js - "message": "无法读取未定义的属性 'query'",
- c++ - 来自 libm 和 libstdc++ 的重复符号
- asp.net - 在 SSMS 中获取 ASP.NET Web API 数据
- javascript - this.innerHTML 不适用于链接?
- django - 一对一关系未在 json 响应中返回嵌套序列化程序
- javascript - 为什么在 JavaScript 中使用一元运算符 ++ 的变量不会将变量更改 1,直到该变量下一次出现在括号内?
- javascript - 如何从 Google Maps API 反向地理编码中显示所需的元素?
- css - 在本地使用材质ui框架库图标
- javascript - 为什么变量指向null后事件处理函数仍然有效?