繁体   English   中英

如何将每周数据拆分为每小时?

[英]How to split weekly data to hourly?

我必须在每周数据和每小时的另一列数据中拥有数据框,例如:

datetime                |   A
------------------------|-------------
06/01/2020  00:00:00    | 130
13/01/2020  00:00:00    |  80
.....................................
21/12/2020  00:00:00    | 234
28/12/2020  00:00:00    | 123

和每小时:

datetime                |   A
------------------------|-------------
06/01/2020  00:00:00    |   
06/01/2020  01:00:00    |
................................
27/12/2020  22:00:00    |   
27/12/2020  23:00:00    |

我想通过将每周数据除以 7*24(一周中的小时数)来填充每小时数据。 我认为这应该是相对简单的,但我目前在尝试实施它时遇到了很多困难。 最好的方法是如何实现这一点?

为了澄清我想要这样的东西:

datetime                |   A
------------------------|-------------
06/01/2020  00:00:00    |  80/7/24 
06/01/2020  01:00:00    |  80/7/24 
................................
27/12/2020  22:00:00    |  123/7/24 
27/12/2020  23:00:00    |  123/7/24 

您可以使用以下内容:

df2 = (df_week.assign(date = pd.to_datetime(df_week['datetime']).dt.date)
  .merge(df_hour.assign(date = pd.to_datetime(df_hour['datetime']).dt.date), on = 'date', suffixes=['_x', ''])
  .assign(A = lambda x: x.A_x/7/24)[['datetime', 'A']])
df2

               datetime        A
0  06/01/2020  00:00:00  0.77381
1  06/01/2020  01:00:00  0.77381

打破这个:

df_week['date'] = pd.to_datetime(df_week['datetime']).dt.date
df_hour['date'] = pd.to_datetime(df_hour['datetime']).dt.date
df2 = df_week.merge(df_hour, on = 'date', suffixes=['_x', ''])
df_hour['A'] = df2['A_x']/7/24
df_hour

               datetime        A        date
0  06/01/2020  00:00:00  0.77381  2020-06-01
1  06/01/2020  01:00:00  0.77381  2020-06-01

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM