Python Pandas的groupby()用法详解

2023-02-23 00:00:00 python 详解 用法

Pandas的groupby()函数是一种强大的方法,可以根据一个或多个列对DataFrame中的数据进行分组,并对分组数据应用不同的操作。它允许进行数据聚合、分组和转换,是数据分析的一个通用工具。

以下是使用groupby()的示例:

假设我们有一个包含“Country”、“Year”和“Population”列的DataFrame df:

import pandas as pd

data = {"Country": ["USA", "USA", "Canada", "Canada", "Mexico", "Mexico"],
        "Year": [2010, 2011, 2010, 2011, 2010, 2011],
        "Population": [309, 311, 34, 35, 113, 115]}

df = pd.DataFrame(data)

为了按国家分组并计算每个国家的总人口,我们可以使用groupby(),如下所示:

grouped = df.groupby("Country")
total_population = grouped["Population"].sum()
print(total_population)

这将输出:

Country
Canada     69
Mexico    228
USA       620
Name: Population, dtype: int64

在这个例子中,我们按“Country”列对DataFrame进行了分组,并计算了每个组的“Population”列的总和。我们使用了sum()方法来应用操作到分组数据上。

我们还可以通过将列名列表传递给groupby()来按多个列进行分组,如下所示:

grouped = df.groupby(["Country", "Year"])
total_population = grouped["Population"].sum()
print(total_population)

这将输出:

Country  Year
Canada   2010    34
         2011    35
Mexico   2010   113
         2011   115
USA      2010   309
         2011   311
Name: Population, dtype: int64

在这个例子中,我们按“Country”和“Year”两列对DataFrame进行了分组,并计算了每个组的“Population”列的总和。

相关文章