首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >根据一周中的一天来寻找每小时的平均数据,以模拟缺失天数的数据

根据一周中的一天来寻找每小时的平均数据,以模拟缺失天数的数据
EN

Stack Overflow用户
提问于 2020-03-18 11:01:20
回答 1查看 108关注 0票数 0

我有一组从07-2月19日到17-2月19日的小时数据:

代码语言:javascript
运行
复制
                             t     v_amm     v_alc     v_no2
0    2019-02-07 08:00:00+00:00  0.320000  0.344000  1.612000
1    2019-02-07 09:00:00+00:00  0.322889  0.391778  1.580889
2    2019-02-07 10:00:00+00:00  0.209375  0.325208  2.371250
...
251  2019-02-17 19:00:00+00:00  1.082041  0.652041  0.967143
252  2019-02-17 20:00:00+00:00  0.936923  0.598654  1.048077
253  2019-02-17 21:00:00+00:00  0.652553  0.499574  1.184894

另一组类似的小时数据,从01-3月19日到11-3月-19:

代码语言:javascript
运行
复制
                            t     v_amm     v_alc     v_no2
0   2019-03-01 00:00:00+00:00  0.428222  0.384444  1.288222
1   2019-03-01 01:00:00+00:00  0.398600  0.359600  1.325800
2   2019-03-01 02:00:00+00:00  0.365682  0.352273  1.360000
...
244 2019-03-11 04:00:00+00:00  0.444048  0.415238  1.265000
245 2019-03-11 05:00:00+00:00  0.590698  0.591395  1.156977
246 2019-03-11 06:00:00+00:00  0.497872  0.465319  1.228298

然而,在17-Feb-19和01-3月-19之间没有可用的数据.因此,我想找出每小时平均数据基于一周的一天,以模拟丢失的每小时数据之间的17-2月19日和01-3月-19日。

换句话说,使用一周中同一天的所有小时数据,并找出当天每小时的平均值。2月17日至2月19日至01日至3月19日的预期产出如下:

代码语言:javascript
运行
复制
                             t     v_amm     v_alc     v_no2
0    2019-02-17 22:00:00+00:00  1.082041  0.652041  0.967143
1    2019-02-17 23:00:00+00:00  0.936923  0.598654  1.048077
2    2019-02-18 00:00:00+00:00  0.652553  0.499574  1.184894
...
250  2019-02-29 21:00:00+00:00  0.428222  0.384444  1.288222
251  2019-02-29 22:00:00+00:00  0.398600  0.359600  1.325800
252  2019-02-29 23:00:00+00:00  0.365682  0.352273  1.360000

有人知道如何在熊猫身上获得这个吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-03-18 11:21:16

我会通过添加一个临时列"day_of_week“来解决这个问题。您可以使用以下方法轻松生成此值:

代码语言:javascript
运行
复制
df['day_of_week'] = df.t.dt.dayofweek

(pandas.DatetimeIndex.dayofweek文档)

接下来,您需要为每个工作日生成平均值:

代码语言:javascript
运行
复制
daily_mean = df.groupby(by='day_of_week').mean()

pandas.DataFrame.groupby文档

接下来的步骤取决于您需要的值。daily_means变量具有所需的所有平均值。

下一步可能是通过生成日期值、生成相应的工作日和插入生成的平均值来创建缺少的行。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60738136

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档