熊猫:时间序列数据:如何选择一个小时,一天或一分钟的行?

哈格(Haggar)

我在.csv文件中有大量的时间序列数据集。文件中有两列:

  1. values:这些是样本值。
  2. dttm_utc:这些是收集样本的时间戳。

我已使用将数据导入到熊猫中pd.read_csv(..., parse_dates=["dttm_utc"])当我打印dttm_utc的前50行时,它们看起来像这样:

0    2012-01-01 00:05:00
1    2012-01-01 00:10:00
2    2012-01-01 00:15:00
3    2012-01-01 00:20:00
4    2012-01-01 00:25:00
5    2012-01-01 00:30:00
6    2012-01-01 00:35:00
7    2012-01-01 00:40:00
8    2012-01-01 00:45:00
9    2012-01-01 00:50:00
10   2012-01-01 00:55:00
11   2012-01-01 01:00:00
12   2012-01-01 01:05:00
13   2012-01-01 01:10:00
14   2012-01-01 01:15:00
15   2012-01-01 01:20:00
16   2012-01-01 01:25:00
17   2012-01-01 01:30:00
18   2012-01-01 01:35:00
19   2012-01-01 01:40:00
20   2012-01-01 01:45:00
21   2012-01-01 01:50:00
22   2012-01-01 01:55:00
23   2012-01-01 02:00:00
24   2012-01-01 02:05:00
25   2012-01-01 02:10:00
26   2012-01-01 02:15:00
27   2012-01-01 02:20:00
28   2012-01-01 02:25:00
29   2012-01-01 02:30:00
30   2012-01-01 02:35:00
31   2012-01-01 02:40:00
32   2012-01-01 02:45:00
33   2012-01-01 02:50:00
34   2012-01-01 02:55:00
35   2012-01-01 03:00:00
36   2012-01-01 03:05:00
37   2012-01-01 03:10:00
38   2012-01-01 03:15:00
39   2012-01-01 03:20:00
40   2012-01-01 03:25:00
41   2012-01-01 03:30:00
42   2012-01-01 03:35:00
43   2012-01-01 03:40:00
44   2012-01-01 03:45:00
45   2012-01-01 03:50:00
46   2012-01-01 03:55:00
47   2012-01-01 04:00:00
48   2012-01-01 04:05:00
49   2012-01-01 04:10:00
Name: dttm_utc, dtype: datetime64[ns]

现在,我要实现的是:

  1. 基本上,我想将数据降采样到每小时。我想对第一个小时,第二个小时等等的样本求和并求平均值,即我想对所有编号和0-10的行的值求和并求平均值,因为它们是在第一个小时收集的,接下来我会希望对第11行和第22行之间的数据求和并取平均值,依此类推。如何使用pandas命令实现这一目标?

现在,如果每5分钟更改一次,例如每2或10分钟进行一次采样,我希望我的解决方案仍然有效。

贾拉德

您的示例数据是a,Series但是您的问题是要对行的值求和和求平均值,因此我不清楚在没有示例数据的情况下您要求和和求平均值的情况。

我想您感兴趣的是,resampling但这只能在datetime列(dttm_utc)在索引中时才能完成

s = pd.Series(pd.DatetimeIndex(start='2012-01-01 00:05:00', periods=50, 
                   freq=pd.offsets.Minute(n=5)), name='dttm_utc')
s.reset_index().set_index('dttm_utc').resample(pd.offsets.Hour()).agg([np.sum, np.mean])

给您这个...但是它是一个多索引,使事情变得更复杂。

                    index      
                      sum  mean
dttm_utc                       
2012-01-01 00:00:00    55   5.0
2012-01-01 01:00:00   198  16.5
2012-01-01 02:00:00   342  28.5
2012-01-01 03:00:00   486  40.5
2012-01-01 04:00:00   144  48.0

如果要删除多索引(多级列),可以执行以下操作:

new_s = s.reset_index().set_index('dttm_utc').resample(pd.offsets.Hour()).agg([np.sum, np.mean])
new_s.columns = new_s.columns.droplevel(level=0)

                     sum  mean
dttm_utc                      
2012-01-01 00:00:00   55   5.0
2012-01-01 01:00:00  198  16.5
2012-01-01 02:00:00  342  28.5
2012-01-01 03:00:00  486  40.5
2012-01-01 04:00:00  144  48.0

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

每24小时一分钟的布尔记录的良好数据结构是什么

来自分类Dev

每隔2分钟执行一次cron作业,但第一个小时“ 0”的第一分钟“ 0”除外

来自分类Dev

在表格中,查看ID在一天中的每一分钟是否都有一行-如何优化此查询?

来自分类Dev

给字符串加一分钟

来自分类Dev

每隔一分钟通过Node.js发出一个请求

来自分类Dev

Oracle查询以获取两个时间戳之间的每一分钟

来自分类Dev

从最后一分钟开始活动(PHP)

来自分类Dev

优化:如何从一周的每一分钟的时间获取TimeId?

来自分类Dev

如何在XTS中索引一分钟的盘中数据?

来自分类Dev

Highcharts tickinterval设置为一分钟仅显示一个日期

来自分类Dev

Java的挂起一分钟后,一个程序完成

来自分类Dev

计算一天中每一分钟“活动”数据框中有多少行的最有效方法是什么?

来自分类Dev

Haskell中是否可以检查自上一个当前时间起是否过去了一分钟?

来自分类Dev

为Spark SQL中的每一分钟差异创建一个新行

来自分类Dev

时间格式:如何编写一个可以运行一分钟的While循环?

来自分类Dev

Python熊猫每天从熊猫数据框索引中删除第一分钟

来自分类Dev

Laravel Carbon加号或分钟一分钟用于比较时间

来自分类Dev

在Android上使用“一分钟前”或“一个小时前”之类的字符串获取时差

来自分类Dev

如何将一分钟的cron延迟一个小时

来自分类Dev

以一分钟为增量选择分钟平均

来自分类Dev

每隔2分钟执行一次cron作业,但第一个小时“ 0”的第一分钟“ 0”除外

来自分类Dev

c.beginPath不是一个函数?一分钟前

来自分类Dev

c#尽管有线程时间,但每隔一分钟运行一个线程

来自分类Dev

在熊猫中仅选择每隔一分钟有数据的日期范围

来自分类Dev

一天中的每一分钟都可以显示不同图像的JavaScript

来自分类Dev

Highcharts tickinterval设置为一分钟仅显示一个日期

来自分类Dev

从30分钟数据中提取R中一天的最后一个时间戳

来自分类Dev

回调函数总计一小时和一分钟的时间

来自分类Dev

如何以一分钟的准确度绘制来自 BigQuery 的时间序列?

Related 相关文章

  1. 1

    每24小时一分钟的布尔记录的良好数据结构是什么

  2. 2

    每隔2分钟执行一次cron作业,但第一个小时“ 0”的第一分钟“ 0”除外

  3. 3

    在表格中,查看ID在一天中的每一分钟是否都有一行-如何优化此查询?

  4. 4

    给字符串加一分钟

  5. 5

    每隔一分钟通过Node.js发出一个请求

  6. 6

    Oracle查询以获取两个时间戳之间的每一分钟

  7. 7

    从最后一分钟开始活动(PHP)

  8. 8

    优化:如何从一周的每一分钟的时间获取TimeId?

  9. 9

    如何在XTS中索引一分钟的盘中数据?

  10. 10

    Highcharts tickinterval设置为一分钟仅显示一个日期

  11. 11

    Java的挂起一分钟后,一个程序完成

  12. 12

    计算一天中每一分钟“活动”数据框中有多少行的最有效方法是什么?

  13. 13

    Haskell中是否可以检查自上一个当前时间起是否过去了一分钟?

  14. 14

    为Spark SQL中的每一分钟差异创建一个新行

  15. 15

    时间格式:如何编写一个可以运行一分钟的While循环?

  16. 16

    Python熊猫每天从熊猫数据框索引中删除第一分钟

  17. 17

    Laravel Carbon加号或分钟一分钟用于比较时间

  18. 18

    在Android上使用“一分钟前”或“一个小时前”之类的字符串获取时差

  19. 19

    如何将一分钟的cron延迟一个小时

  20. 20

    以一分钟为增量选择分钟平均

  21. 21

    每隔2分钟执行一次cron作业,但第一个小时“ 0”的第一分钟“ 0”除外

  22. 22

    c.beginPath不是一个函数?一分钟前

  23. 23

    c#尽管有线程时间,但每隔一分钟运行一个线程

  24. 24

    在熊猫中仅选择每隔一分钟有数据的日期范围

  25. 25

    一天中的每一分钟都可以显示不同图像的JavaScript

  26. 26

    Highcharts tickinterval设置为一分钟仅显示一个日期

  27. 27

    从30分钟数据中提取R中一天的最后一个时间戳

  28. 28

    回调函数总计一小时和一分钟的时间

  29. 29

    如何以一分钟的准确度绘制来自 BigQuery 的时间序列?

热门标签

归档