📜  如何列出每个 Pandas 组的值?(1)

📅  最后修改于: 2023-12-03 15:08:28.063000             🧑  作者: Mango

如何列出每个 Pandas 组的值?

在 Pandas 中,我们经常使用 groupby() 方法来按照某些特征对数据进行分组,例如按照某一列的值进行分组,然后对每个组进行一些计算或操作。

如果我们想要获取每个组的值,可以使用 groups 属性。这个属性返回一个字典,其中每个键都表示一个组,对应的值是该组的行索引。

示例代码:

import pandas as pd

# 创建示例数据
data = {'Animal': ['Falcon', 'Falcon', 'Parrot', 'Parrot'],
        'Max Speed': [380., 370., 24., 26.]}
df = pd.DataFrame(data)

# 按照 Animal 列进行分组
groups = df.groupby('Animal')

# 获取每个组的值
for name, group in groups:
    print(name)
    print(group)

上述代码中,我们创建了一个示例数据集,包含了动物种类和它们的最大速度。我们将数据按照 Animal 列进行分组,并打印出每个组的名称和对应的数据。

输出结果如下:

Falcon
   Animal  Max Speed
0  Falcon      380.0
1  Falcon      370.0
Parrot
   Animal  Max Speed
2  Parrot       24.0
3  Parrot       26.0

我们可以看到,groupby() 方法返回了一个 DataFrameGroupBy 对象,其中包含了两个组:Falcon 和 Parrot。我们使用 for 循环对每个组进行打印,结果显示出了每个组包含的行。

此外,我们还可以使用 get_group() 方法来直接获取特定组的数据。例如,我们想要获取 Falcon 组的数据,可以使用以下代码:

falcon_group = groups.get_group('Falcon')

falcon_group 将包含 Falcon 组的所有行。