Pandas 如何从groupby对象中选择列

Pandas 如何从groupby对象中选择列

在本文中,我们将介绍在Pandas中如何从groupby对象中选择列。在统计分析中,groupby是一个常用的函数,它允许我们将数据按照某些条件进行分组,通过对每个组进行汇总,可以更好地理解数据。

阅读更多:Pandas 教程

创建一个groupby对象

为了演示如何从groupby对象中选择列,我们需要先创建一个groupby对象。在本例中,我们将使用一个包含以下几列的数据集:国家、洲、GDP和人口。

import pandas as pd

data = {'country':['China', 'India', 'USA', 'Brazil', 'Russia', 'Japan'],
        'continent':['Asia', 'Asia', 'North America', 'South America', 'Europe', 'Asia'],
        'GDP':[14227, 2875, 21433, 2065, 1686, 5081],
        'population':[1393000000, 1369000000, 329500000, 211000000, 144000000, 126500000]}
df = pd.DataFrame(data)
Python

接下来我们按照洲的分类进行groupby。

grouped = df.groupby('continent')
Python

## 选择一个列

如果我们想要从groupby对象中选择一个列,我们可以使用以下代码。

grouped['GDP'].sum()
Python

输出结果如下:

continent
Asia             19383
Europe            1686
North America    21433
South America     2065
Name: GDP, dtype: int64
Python

上面的代码将groupby对象中的’GDP’列进行求和,并输出每个洲的GDP总和。

选择多个列

如果我们想选择多个列,我们可以使用以下代码。

grouped[['GDP', 'population']].sum()
Python

输出结果如下:

                    GDP  population
continent                          
Asia              24483  2897000000
Europe             1686   144000000
North America    21433   329500000
South America     2065   211000000
Python

上述代码将groupby对象中的’GDP’和’population’列进行求和,并输出每个洲的总和。

选择所有列

如果我们想要选择groupby对象中的所有列,我们可以使用以下代码。

grouped.apply(lambda x: x.sum())
Python

输出结果如下:

                GDP  population
continent                      
Asia          24483  2897000000
Europe         1686   144000000
North America  21433   329500000
South America   2065   211000000
Python

上述代码将groupby对象中的所有列进行求和,并按照洲的分类进行输出。

总结

在本文中,我们介绍了如何在Pandas中从groupby对象中选择列。简而言之,我们可以通过在groupby对象上使用列名来选择特定的列,也可以通过使用一个列名列表来选择多个列。另外,我们也可以选择所有列,然后对它们进行处理和汇总。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册