Python 基于一周中的某一天查找每小时平均数据,以模拟缺失天数的数据
我有一组从19年2月7日到19年2月17日的每小时数据: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
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变量具有您需要的所有平均值
下一步可能是通过生成日期值、生成相应的工作日并插入生成的平均值来创建缺少的行。谢谢。但是,我并不是在寻找每个工作日的平均值。我在寻找每个工作日每小时的平均值。我能知道怎么做到吗?谢谢。但是,我并不是在寻找每个工作日的平均值。我在寻找每个工作日每小时的平均值。我可以知道如何做到这一点吗?