pandas 获取groupby对象的键和值:它是如何工作的?

0sgqnhkj  于 2023-02-20  发布在  其他
关注(0)|答案(1)|浏览(138)

我是新来的,所以很吓人,所以请温柔一点。
由于我实际上无法看到groupby对象中的内容,所以我尝试理解下面的迭代a和b是如何分别访问键('name ')和组数据的,下面的结果暗示groupby对象是一个元组列表,如下所示:(名称、组数据)。是否正确?
埃塔:我试图理解一个如何抓取(迭代)

grouped.groups

和b抓取

grouped.get_group(a)

。他们似乎是从

grouped.__iter__()

对吗?这是列表/元组的前两个元素吗?
先谢了。

import pandas as pd
data = {'name': ['Alice', 'Bob', 'Charlie', 'David'],
        'age': [25, 30, 35, 40]}

# create a pandas DataFrame from the dictionary
df = pd.DataFrame(data)

grouped = df.groupby('name')
for a, b in grouped:
    print(a)
    print(b)

输出如下所示,符合预期。

Alice
name  age
0  Alice   25
Bob
name  age
1  Bob   30
Charlie
name  age
2  Charlie   35
David
name  age
3  David   40
goqiplq2

goqiplq21#

是的。
下面是一个更有趣的例子。

data = {'name': ['Alice', 'Bob', 'David', 'David'],
        'age': [25, 30, 35, 40]}

在它生成的b Dataframe 中,有一个是:

>>> b
    name  age
2  David   35
3  David   40

顺便说一句,注意返回的a总是str类型。
通常报告一些合计将是分组的动机。

>>> print(grouped.max())
       age
name      
Alice   25
Bob     30
David   40

相关问题