You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从覆盖全年数据的DataFrame中计算均值、中位数、众数等统计指标

基于pandas的全年统计指标计算方案

前置准备

确保已安装并导入pandas库:
import pandas as pd

步骤1:数据预处理

  • 转换日期列格式:将第一列日期数据转换为pandas datetime类型,方便时间维度筛选
    代码示例:df['date_col'] = pd.to_datetime(df['date_col'])
  • 筛选全年数据:如果需要统计指定自然年的指标,先筛选对应年份的数据集
    代码示例:year_df = df[df['date_col'].dt.year == 2023] (将2023替换为你需要统计的目标年份即可)

步骤2:统计指标计算

场景1:全量数据全年整体指标

直接对目标数值列调用内置统计方法即可:

# 均值
mean_value = year_df['value_col'].mean()
# 中位数
median_value = year_df['value_col'].median()
# 众数,pandas的mode返回Series,取第一个元素为最终众数
mode_value = year_df['value_col'].mode().iloc[0]

场景2:按项目分组统计各项目全年指标

如果需要计算每个项目编码对应的全年指标,使用groupby聚合即可:

project_year_stats = year_df.groupby('project_id_col')['value_col'].agg(
    yearly_mean = 'mean',
    yearly_median = 'median',
    yearly_mode = lambda x: x.mode().iloc[0] if not x.mode().empty else pd.NA
).reset_index()

注意事项

  • 上述代码中date_col替换为你的日期列实际列名,project_id_col替换为项目识别编码列的实际列名,value_col替换为你要统计的数值列实际列名
  • 如果同一个日期下同一个项目存在多条重复记录,可以先按日期+项目编码分组聚合单日数值后再做全年统计
  • 若存在多个相同频次的众数,上述代码仅返回第一个,需要返回全量众数可调整lambda函数的返回逻辑

内容的提问来源于stack exchange,提问作者R S John

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 21:27:01