Python 基于一周中的某一天查找每小时平均数据,以模拟缺失天数的数据

Python 基于一周中的某一天查找每小时平均数据,以模拟缺失天数的数据,python,pandas,Python,Pandas,我有一组从19年2月7日到19年2月17日的每小时数据: 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.2093

我有一组从19年2月7日到19年2月17日的每小时数据:

                             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
以及从19年3月1日至19年3月11日采集的另一组类似的小时数据:

                            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
但是,在19年2月17日至19年3月1日期间,没有可用的数据。 因此,我希望根据一周中的某一天找到每小时平均数据,以模拟19年2月17日至19年3月1日期间丢失的每小时数据

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

                             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

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

我会通过添加一个临时专栏“每周的第几天”来解决这个问题。您可以使用以下工具轻松生成此值:

df['day_of_week'] = df.t.dt.dayofweek
()

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

daily_mean = df.groupby(by='day_of_week').mean()

从这里开始,接下来的步骤取决于您需要哪些值。daily_means变量具有您需要的所有平均值


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

我将通过添加一个临时列“day\u of_week”来解决此问题。您可以使用以下工具轻松生成此值:

df['day_of_week'] = df.t.dt.dayofweek
()

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

daily_mean = df.groupby(by='day_of_week').mean()

从这里开始,接下来的步骤取决于您需要哪些值。daily_means变量具有您需要的所有平均值


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

谢谢。但是,我并不是在寻找每个工作日的平均值。我在寻找每个工作日每小时的平均值。我能知道怎么做到吗?谢谢。但是,我并不是在寻找每个工作日的平均值。我在寻找每个工作日每小时的平均值。我可以知道如何做到这一点吗?