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

pandas计算DataFrame日期列的行平均值并向上取整为整数

pandas逐行计算日期列均值并向上取整实现方案

核心实现代码

直接基于现有DataFrame处理即可,不需要写额外循环:

import pandas as pd
import numpy as np

# 替换为你实际环境中的原始DataFrame变量名
raw_df = "替换为你的原始DataFrame变量"

# 提取所有日期列(排除Hours字段列)
date_columns = raw_df.columns.drop("Hours")

# 逐行计算所有日期列的算术平均值,保留中间计算结果
raw_df["raw_avg"] = raw_df[date_columns].mean(axis=1)

# 对均值做向上取整,转为整数类型得到目标字段
raw_df["avg_count"] = np.ceil(raw_df["raw_avg"]).astype(int)

# 生成最终结果DataFrame,不需要中间结果可以去掉raw_avg字段
final_df = raw_df[["Hours", "raw_avg", "avg_count"]]

参考示例

原始输入样例

Hours2024-05-012024-05-022024-05-03
0121518
1798
2354
3221924

计算结果输出样例

Hoursraw_avg(均值计算中间结果)avg_count(向上取整最终值)
015.015
18.08
24.04
321.666666...22

关键说明

  • 计算均值时必须传入axis=1,默认参数是按列计算,会得到完全不符合需求的结果
  • 不要用round()做四舍五入,np.ceil()才是严格向上取整,哪怕均值是21.1也会返回整数22
  • 如果不需要保留中间计算过程,最终final_df只取["Hours", "avg_count"]两列即可

内容的提问来源于stack exchange,提问作者Carola

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 18:06:32