Zyzy_52 2022-12-18 14:43 采纳率: 66.7%
浏览 69
已结题

用Python对excel中的数据固定间隔求平均值但结果与正确结果不一致

想解决的问题如下:现有大量数据,以日为单位。每日的数据又每隔半小时统计一次,因此每天会产生48个数据。现在想通过对这些数据进行处理,将每天的平均值求出来。即以48个数据为一组,求出每组的平均值。

首先我用了excel中的offset函数,公式为“=AVERAGE(OFFSET($B$2,(ROW( )-ROW($B$2))*48,,48))”,得出了结果。但后来验证发现,有许多结果与自己单独用average函数拉出来的结果不一致。但又找不出任何问题。

接下来又尝试用python进行处理,代码如下:

import pandas as pd
df=pd.read_excel('C:/Data/data1.xlsx')
data_0=[ ]
i=0
while i<=len(df):
    data0=df['data'][i:i+48]
    data1=sum(data0)/len(data0)
    data_0.append(data1)
    i=i+48

df[' daily average']=data_0

发现用python得出的结果与先前直接用offset函数得出的结果一致,而且与正确结果也有大量数据的偏差。因此想问问大家这是为什么,有什么方法可以解决?

  • 写回答

2条回答 默认 最新

  • Richard.sysout 2022-12-18 15:13
    关注

    首先,有个问题,你的数据是48为一组求平均值,你的预期的组与组之间是否有交叉数据,比如第一次算1 ~ 48,第二次是算2 ~ 49,还是算49 ~ 97
    从你的代码来看,第二次算的就是2~49,
    另外你是取了df的长度,表明你的数据只有df这么长,循环是从0 ~ len(df),但数据处理,又达到了len(df) ~ len(df)+48,
    len(df)+48这个长度是没有数据的

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
    1人已打赏
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 12月26日
  • 已采纳回答 12月18日
  • 创建了问题 12月18日

悬赏问题

  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度