避免使用DataFrame.重新采样以更改小时



我试图在包含小时价格的数据集中提取每天的最小值。我想对每个小时分别执行此操作,因为我以后想在再次组合数据集之前向每个小时添加其他信息(这就是为什么我想在datetime中保留小时)。

这是我的数据:

Price_REG1  Price_REG2  ...  Price_24_3  Price_24_4
date                                         ...                        
2020-01-01 00:00:00       30.83       30.83  ...         NaN         NaN
2020-01-01 01:00:00       28.78       28.78  ...         NaN         NaN
2020-01-01 02:00:00       28.45       28.45  ...       30.83       30.83
2020-01-01 03:00:00       27.90       27.90  ...       28.78       28.78
2020-01-01 04:00:00       27.52       27.52  ...       28.45       28.45

要提取最小值,我使用以下命令:

df_min_1 = df_hour_1[['Price_REG1', 'Price_REG2', 'Price_REG3', 
'Price_REG4']].between_time('00:00', '23:00').resample('d').min()

这给我留下了这个:

Price_REG1  Price_REG2  Price_REG3  Price_REG4
date                                                      
2020-01-01       25.07       25.07       25.07       25.07
2020-01-02       12.07       12.07       12.07       12.07
2020-01-03        0.14        0.14        0.14        0.14
2020-01-04        3.83        3.83        3.83        3.83
2020-01-05       25.77       25.77       25.77       25.77

我明白样本是这样做的,但我想知道是否有任何方法可以避免这种情况,或者是否有任何其他方法可以达到我所追求的结果。

澄清一下,这是我想要的:

Price_REG1  Price_REG2  Price_REG3  Price_REG4
date                                                      
2020-01-01 01:00:00       25.07       25.07       25.07       25.07
2020-01-02 01:00:00       12.07       12.07       12.07       12.07
2020-01-03 01:00:00        0.14        0.14        0.14        0.14
2020-01-04 01:00:00        3.83        3.83        3.83        3.83
2020-01-05 01:00:00       25.77       25.77       25.77       25.77

我没有找到一个很好的解决这个问题,我设法得到我想要的地方,虽然用这个方法:

t = datetime.timedelta(hours=1)
df_min = df_min.reset_index()
df_min['date'] = df_min['date'] + t
df_min.set_index('date', inplace = True)
df_hour_1 = pd.concat([df_hour_1, df_min], axis=1)

也就是说,我首先创建一个timedelta为01:00:00的timedelta,然后重置索引以便能够将timedelta添加到日期列。通过这种方式,我能够联系df_hour和df_min,同时仍然保持时间,以便我可以在后面的步骤中连接所有24个数据集。

相关内容

  • 没有找到相关文章

最新更新