题目
计算销售数据的平均值
信息
- 类型:问答
- 难度:⭐
考点
Pandas基础操作,数据清洗,基本统计量计算
快速回答
要计算销售数据的平均值,需要:
- 使用
pandas.read_csv()读取CSV文件 - 检查并处理缺失值(如使用
dropna()或fillna()) - 使用
mean()方法计算销售金额列的平均值 - 处理异常值(如负值)
问题场景
给定一个销售数据CSV文件(sales_data.csv),包含日期、产品ID、销售金额三列。要求计算所有有效销售记录的平均金额。
核心步骤
- 数据读取:使用pandas读取CSV文件
- 数据清洗:处理缺失值和异常值
- 计算平均值:对清洗后的数据应用统计方法
代码示例
import pandas as pd
# 1. 读取数据
df = pd.read_csv('sales_data.csv')
# 2. 数据清洗
# 删除销售金额为空的记录
df_clean = df.dropna(subset=['销售金额'])
# 过滤掉负值(异常值)
df_clean = df_clean[df_clean['销售金额'] >= 0]
# 3. 计算平均值
average_sales = df_clean['销售金额'].mean()
print(f'平均销售金额: {average_sales:.2f}元')关键原理
- 缺失值处理:直接删除(
dropna())适用于少量缺失,大量缺失时可考虑填充(如fillna(0)) - 异常值处理:销售金额应为非负数,需过滤负值
- 统计计算:
mean()自动忽略NaN值,但显式清洗更安全
最佳实践
- 使用
subset参数针对特定列处理缺失值 - 添加数据质量检查:
print(df.info())查看缺失情况 - 结果格式化:
:.2f保留两位小数
常见错误
- 未处理缺失值 → 导致
mean()计算结果为NaN - 未处理异常值 → 负值拉低平均值
- 错误列名 → 引发
KeyError,应先用df.columns确认列名
扩展知识
- 其他统计方法:
median()(中位数)、mode()(众数) - 分组统计:
df.groupby('产品ID')['销售金额'].mean() - 数据抽样:
df.sample(100)检查数据分布