首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >避免DataFrame.resample更改时间

避免DataFrame.resample更改时间
EN

Stack Overflow用户
提问于 2022-11-09 15:43:50
回答 1查看 16关注 0票数 0

我试图在包含每小时价格的数据集中提取每天的最小值。这是我想要为每一个小时分别做的,因为我以后想在每小时中添加其他信息,然后再组合数据集(这就是为什么我希望将这个小时保持在日期时间)。

这是我的数据:

代码语言:javascript
复制
                     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

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

代码语言:javascript
复制
df_min_1 = df_hour_1[['Price_REG1', 'Price_REG2', 'Price_REG3', 
                 'Price_REG4']].between_time('00:00', '23:00').resample('d').min()

这让我不得不说:

代码语言:javascript
复制
            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

我知道重拍是这样做的,但我想知道是否有任何办法来避免这种情况,或是否有其他方法来达到我所追求的结果。

我想澄清的是:

代码语言:javascript
复制
                     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
EN

回答 1

Stack Overflow用户

发布于 2022-11-09 21:10:37

我没有找到一个很好的解决这个问题的方法,我设法达到了我想要的地方,尽管使用这种方法:

代码语言:javascript
复制
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个数据集。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74377674

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档