首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在时序分析中创建4小时时间间隔(python)

如何在时序分析中创建4小时时间间隔(python)
EN

Stack Overflow用户
提问于 2020-01-15 17:48:50
回答 1查看 393关注 0票数 1

我对时间序列分析完全陌生,我正在尝试处理网上可用的示例

这是我目前所拥有的:

代码语言:javascript
复制
# Time based features
data = pd.read_csv('Train_SU63ISt.csv')
data['Datetime'] = pd.to_datetime(data['Datetime'],format='%d-%m-%Y %H:%M')

data['Hour'] = data['Datetime'].dt.hour 
data['minute'] = data['Datetime'].dt.minute 

data.head()


    ID             Datetime Count   Hour    Minute
0   0   2012-08-25 00:00:00     8      0         0
1   1   2012-08-25 01:00:00     2      1         0
2   2   2012-08-25 02:00:00     6      2         0
3   3   2012-08-25 03:00:00     2      3         0
4   4   2012-08-25 04:00:00     2      4         0

我要找的东西是这样的:

代码语言:javascript
复制
    ID             Datetime Count   Hour    Minute          4-Hour-window
 0   0  2012-08-25 00:00:00    20      4         0    00:00:00 - 04:00:00
 1   1  2012-08-25 04:00:00    22      8         0    04:00:00 - 08:00:00
 2   2  2012-08-25 08:00:00    18     12         0    08:00:00 - 12:00:00
 3   3  2012-08-25 12:00:00    16     16         0    12:00:00 - 16:00:00
 4   4  2012-08-25 16:00:00    18     20         0    16:00:00 - 20:00:00
 5   5  2012-08-25 20:00:00    14     24         0    20:00:00 - 00:00:00
 6   6  2012-08-25 00:00:00    20      4         0    00:00:00 - 04:00:00
 7   7  2012-08-26 04:00:00    24      8         0    04:00:00 - 08:00:00
 8   8  2012-08-26 08:00:00    20     12         0    08:00:00 - 12:00:00
 9   9  2012-08-26 12:00:00    10     16         0    12:00:00 - 16:00:00
10  10  2012-08-26 16:00:00    18     20         0    16:00:00 - 20:00:00
11  11  2012-08-26 20:00:00    14     24         0    20:00:00 - 00:00:00
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-15 21:05:15

我认为你正在寻找的是重采样函数,请看这里:https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.resample.html

像这样的东西应该可以工作(未经过测试):

代码语言:javascript
复制
sampled_data = data.resample(
    '4H',
    kind='timestamp',
    on='Datetime',
    label='left'
).sum()

该函数非常类似于groupby,它将数据分组到on=中指定的列的块中,在本例中,我们使用时间戳和4小时的块。最后,您需要使用某种解聚,在本例中为sum(),以将每个组中的所有元素转换为每个时间块中的单个元素

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

https://stackoverflow.com/questions/59748785

复制
相关文章

相似问题

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