我试图在包含每小时价格的数据集中提取每天的最小值。这是我想要为每一个小时分别做的,因为我以后想在每小时中添加其他信息,然后再组合数据集(这就是为什么我希望将这个小时保持在日期时间)。
这是我的数据:
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发布于 2022-11-09 21:10:37
我没有找到一个很好的解决这个问题的方法,我设法达到了我想要的地方,尽管使用这种方法:
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)也就是说,我首先创建一个时间增量为01:00:00,然后重新设置索引,以便能够将timedelta添加到date列。通过这种方式,我能够联系df_hour和df_min,同时仍然保留时间,以便在稍后的步骤中连接所有24个数据集。
https://stackoverflow.com/questions/74377674
复制相似问题