【问题标题】:Time series data extraction时间序列数据提取
【发布时间】:2023-03-10 19:47:01
【问题描述】:

我有如下格式的数据集。我有兴趣在每 3 小时后提取数据点。

   Unnamed: 0                Date  ...  a_anox1  a_anox2
0           0 2017-11-01 00:00:41  ...   3.6465      0.0
1           1 2017-11-01 00:01:41  ...   3.9795      0.0
2           2 2017-11-01 00:02:41  ...   4.2055      0.0
3           3 2017-11-01 00:03:41  ...   4.4490      0.0
4           4 2017-11-01 00:04:41  ...   4.6375      0.0

[5 rows x 12 columns]

我想在输出 3H 后提取数据点:

   Unnamed: 0                Date  
0           0 2017-11-01 00:00:41  
1           1 2017-11-01 03:00:41 
2           2 2017-11-01 06:00:41  
3           3 2017-11-01 09:00:41  
4           4 2017-11-01 12:00:41  

[5 rows x 12 columns]

【问题讨论】:

  • 你自己尝试过什么?你遇到了什么问题?
  • 你可以只做 [for i in data[::x]] 来提取数据结构中的第 x 个值吗?

标签: python dataframe date time-series data-extraction


【解决方案1】:

使用resample。将您的日期时间列设置为索引df.set_index('date_column', inplace=True),然后使用resample:

import pandas as pd

# data with hours differe 
df = pd.DataFrame({'symbol':range(13)}, index=pd.date_range(start='01-12-2020', freq='H', periods=13))   

# example data get 3rd hour last value
last3h = df.resample('3H').last()   

print(last3h)

有关更多详细信息和用例,请参阅resample in Pandas documentation。

【讨论】:

    猜你喜欢
    • 2023-01-27
    • 2014-07-01
    • 2015-07-01
    • 1970-01-01
    • 2021-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多