📜  pandas create average per group - Python (1)

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

在 Pandas 中按组创建平均值

在处理数据时,经常需要按照某个特定的组计算平均值。Pandas 为此提供了强大的工具。

创建数据

让我们先创建一些示例数据。我们将使用一个包含城市、销售额和日期的简单数据集。

import pandas as pd
import numpy as np

# 创建示例数据
data = {
    'city': ['Beijing', 'Beijing', 'Shanghai', 'Shanghai', 'Guangzhou', 'Guangzhou'],
    'date': pd.date_range('20210101', periods=6),
    'sales': [100, 200, 150, 300, 75, 125]
}

df = pd.DataFrame(data)

print(df)

这将创建一个包含以下数据的 Pandas DataFrame:

        city       date  sales
0    Beijing 2021-01-01    100
1    Beijing 2021-01-02    200
2   Shanghai 2021-01-03    150
3   Shanghai 2021-01-04    300
4  Guangzhou 2021-01-05     75
5  Guangzhou 2021-01-06    125
按城市创建平均值

现在我们想要按照城市计算销售额的平均值。为此,我们可以使用 Pandas 的 groupby() 方法和 mean() 方法。

# 按城市计算平均销售额
grouped = df.groupby('city')
mean_sales = grouped['sales'].mean()

print(mean_sales)

这将输出:

city
Beijing      150.0
Guangzhou    100.0
Shanghai     225.0
Name: sales, dtype: float64

这个示例演示了如何使用 Pandas 对简单数据集进行平均值计算。groupby() 方法根据城市对 DataFrame 进行分组,然后使用 mean() 方法计算每个组的平均销售额。

结论

Pandas 提供了简单而强大的工具,使您可以轻松按组计算平均值。无论您处理的是简单数据集还是更复杂的数据,这些方法都是非常有用的。

最后,这里是完整的代码示例:

import pandas as pd
import numpy as np

# 创建示例数据
data = {
    'city': ['Beijing', 'Beijing', 'Shanghai', 'Shanghai', 'Guangzhou', 'Guangzhou'],
    'date': pd.date_range('20210101', periods=6),
    'sales': [100, 200, 150, 300, 75, 125]
}

df = pd.DataFrame(data)

# 按城市计算平均销售额
grouped = df.groupby('city')
mean_sales = grouped['sales'].mean()

print(mean_sales)