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

哈格(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

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

给字符串加一分钟

Related 相关文章

  1. 1

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

  2. 2

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

  3. 3

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

  4. 4

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

  5. 5

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

  6. 6

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

  7. 7

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

  8. 8

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

  9. 9

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

  10. 10

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

  11. 11

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

  12. 12

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

  13. 13

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

  14. 14

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

  15. 15

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

  16. 16

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

  17. 17

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

  18. 18

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

  19. 19

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

  20. 20

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

  21. 21

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

  22. 22

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

  23. 23

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

  24. 24

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

  25. 25

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

  26. 26

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

  27. 27

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

  28. 28

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

  29. 29

    给字符串加一分钟

热门标签

归档