Data Analysis with Pandas

Pandas DataFrame高效计算列平均值

Spread the love

Pandas是一个强大的Python库,用于数据操作和分析。计算Pandas DataFrame中某列的平均值(均值)是一项经常需要的任务。本文演示了两种有效的实现方法:使用df.mean()方法和df.describe()方法。

目录:

使用df.mean()计算均值

df.mean()方法提供了一种直接计算DataFrame中所有数值列平均值的方法。要获得特定列的平均值,只需使用方括号或点表示法选择列,然后应用mean()方法。

示例如下:


import pandas as pd

# 示例DataFrame
data = {'Name': ['Alice', 'Bob', 'Charlie', 'David'],
        'Age': [25, 30, 22, 28],
        'Score': [85, 92, 78, 88]}
df = pd.DataFrame(data)

# 使用方括号表示法计算平均年龄
average_age = df['Age'].mean()
print(f"平均年龄:{average_age}")

# 使用点表示法计算平均分数
average_score = df.Score.mean()
print(f"平均分数:{average_score}")

这将输出:


平均年龄:26.25
平均分数:85.75

重要的是,df.mean()会智能地处理缺失值(NaN),将其排除在计算之外。但是,如果您的列包含非数值数据,则会遇到TypeError。在使用此方法之前,务必确保您的列仅包含数值。

使用df.describe()探索描述性统计

df.describe()方法会生成DataFrame描述性统计的综合摘要。这包括每列数值的均值、计数、标准差、最小值、最大值和四分位数。虽然它提供的不仅仅是平均值,但它是一种方便的方法,可以同时获得平均值和其他有价值的统计度量。

使用相同的DataFrame:


import pandas as pd

# 示例DataFrame(与之前相同)
data = {'Name': ['Alice', 'Bob', 'Charlie', 'David'],
        'Age': [25, 30, 22, 28],
        'Score': [85, 92, 78, 88]}
df = pd.DataFrame(data)

# 描述性统计
summary_stats = df.describe()
print(summary_stats)

这将输出如下表格:


         Age    Score
count   4.0   4.0000
mean   26.25  85.7500
std     3.50   6.2361
min    22.00  78.0000
25%    23.75  81.2500
50%    26.50  86.5000
75%    29.25  90.2500
max    30.00  92.0000

“年龄”和“分数”的均值清晰可见。请记住,df.describe()仅处理数值列。

总而言之,df.mean()df.describe()都提供了在Pandas DataFrame中计算列平均值的有效方法。选择最适合您需求的方法:仅需平均值则使用df.mean(),需要更广泛的统计概述则使用df.describe()。在应用这些方法之前,务必处理潜在的数据类型错误。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注