计算 pandas 数据框中不同事件的每小时和 2 小时移动平均值

2024-02-21

我有一个数据框,如下所示:

Event       DateTime      ModFlow(cfs) ObsFlow(cfs) ModVol(f3)  ObsVol(f3)
Event 01    8/15/2016 3:10  0.7309299   0.6408669   219.27897   192.26007
Event 01    8/15/2016 3:15  0.7177225   0.3482972   215.31675   104.48916
Event 01    8/15/2016 3:20  0.7182343   0.5108359   215.47029   153.25077
Event 01    8/15/2016 3:25  0.7078446   0.6315789   212.35338   189.47367
Event 01    8/15/2016 3:30  0.6973493   0.5201238   209.20479   156.03714
Event 01    8/15/2016 3:35  0.6949614   0.5185758   208.48842   155.57274
Event 01    8/15/2016 3:40  0.6951835   0.6517028   208.55505   195.51084
Event 01    8/15/2016 3:45  0.6869527   0.4659443   206.08581   139.78329
Event 01    8/15/2016 3:50  0.6796721   0.4148607   203.90163   124.45821
Event 01    8/15/2016 3:55  0.6901501   0.4071207   207.04503   122.13621
Event 01    8/15/2016 4:00  0.6912107   0.6996904   207.36321   209.90712
Event 01    8/15/2016 4:05  0.6811846   0.6315789   204.35538   189.47367
Event 01    8/15/2016 4:10  0.6783166   0.5650155   203.49498   169.50465
Event 01    8/15/2016 4:15  0.6752744   0.5572755   202.58232   167.18265
Event 01    8/15/2016 4:20  0.6719815   0.6052632   201.59445   181.57896
Event 01    8/15/2016 4:25  0.66859     0.6563467   200.577     196.90401
Event 01    8/15/2016 4:30  0.6641344   0.4721362   199.24032   141.64086
Event 01    8/15/2016 4:35  0.7217036   0.8436533   216.51108   253.09599
Event 01    8/15/2016 4:40  0.7838766   0.8065016   235.16298   241.95048
Event 01    8/15/2016 4:45  0.9858695   0.6424149   295.76085   192.72447
Event 01    8/15/2016 4:50  1.543869    1.071207    463.1607    321.3621
Event 01    8/15/2016 4:55  3.76313     1.555728    1128.939    466.7184
Event 01    8/15/2016 5:00  6.952304    6.942724    2085.6912   2082.8172
Event 01    8/15/2016 5:05  12.44711    8.373065    3734.133    2511.9195
Event 01    8/15/2016 5:10  18.05204    15.53715    5415.612    4661.145
Event 04    4/10/2016 17:25 0.7944226   1.956656    238.32678   586.9968
Event 04    4/10/2016 17:30 0.7899759   1.743034    236.99277   522.9102
Event 04    4/10/2016 17:35 0.7881337   1.580495    236.44011   474.1485
Event 04    4/10/2016 17:40 0.7872726   1.890093    236.18178   567.0279
Event 04    4/10/2016 17:45 0.7867649   1.883901    236.02947   565.1703
Event 04    4/10/2016 17:50 0.7863836   1.50774     235.91508   452.322
Event 04    4/10/2016 17:55 0.7860502   1.46904     235.81506   440.712
Event 04    4/10/2016 18:00 0.7857358   1.660991    235.72074   498.2973
Event 04    4/10/2016 18:05 0.7942941   1.565015    238.28823   469.5045
Event 04    4/10/2016 18:10 0.8083629   1.982972    242.50887   594.8916
Event 04    4/10/2016 18:15 0.8234028   1.674923    247.02084   502.4769
Event 04    4/10/2016 18:20 0.8384557   1.405573    251.53671   421.6719
Event 04    4/10/2016 18:25 0.8464783   1.503096    253.94349   450.9288
Event 04    4/10/2016 18:30 0.8494487   1.599071    254.83461   479.7213
Event 04    4/10/2016 18:35 0.8503551   1.791022    255.10653   537.3066
Event 04    4/10/2016 18:40 0.8505155   1.605263    255.15465   481.5789
Event 04    4/10/2016 18:45 0.850417    1.726006    255.1251    517.8018
Event 04    4/10/2016 18:50 0.8502218   1.602167    255.06654   480.6501
Event 04    4/10/2016 18:55 0.8500343   1.487616    255.01029   446.2848
Event 04    4/10/2016 19:00 0.8498603   1.928793    254.95809   578.6379
Event 04    4/10/2016 19:05 0.8458332   1.716718    253.74996   515.0154
Event 04    4/10/2016 19:10 0.8399328   1.414861    251.97984   424.4583
Event 04    4/10/2016 19:15 0.8337958   1.674923    250.13874   502.4769
Event 04    4/10/2016 19:20 0.8277948   1.447368    248.33844   434.2104
Event 04    4/10/2016 19:25 0.8244936   1.665635    247.34808   499.6905

每 5 分钟获取一次值。 我的数据框中有很多这样的事件。

我想要新数据框中每个事件的 1 小时和 2 小时移动平均值。

我怎么可能这么做呢?


熊猫0.19

d1 = df.set_index('DateTime').sort_index()
ma_1h = d1.groupby('Event').rolling('H').mean()
ma_2h = d1.groupby('Event').rolling('2H').mean()

ma_1h.head()
ma_2h.head()

熊猫
因为时间戳是有规律的间隔,所以我们可以获取精确的行数

ma_1h = d1.groupby('Event').rolling(12).mean().dropna()
ma_2h = d1.groupby('Event').rolling(24).mean().dropna()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

计算 pandas 数据框中不同事件的每小时和 2 小时移动平均值 的相关文章

  • 有没有纯Python的表类?

    我正在构建一个需要分析表格数据的应用程序 我想执行一些列操作 例如重命名列 删除列以及根据现有列的值计算新列的能力 我的第一选择是 Pandas 之类的东西 但是一个限制是这个项目必须是跨平台的并且非常容易在 virtualenv 中部署
  • 使用组合时如何解决循环依赖?

    我遇到了如下所示的情况 其中每个类都需要另一个类 并且它创建了循环依赖关系 我在使用 ctypes 包装一些 C 代码时遇到了这种情况 已经有很多关于这个主题的帖子 但我发现它们没有帮助 我需要一些例子 Module A from B im
  • Python 中的密码子生成

    我有这段代码 用于将 DNA 字符串转换为密码子列表 然后将此列表转换为具有各自氨基酸的字符串 然而 当我运行代码并且 DNA 字符串以一对核苷酸 例如 CT 而不是三联体结尾时 代码不会生成氨基酸序列 正如您在输出中看到的 from co
  • LSTM - 一段时间后预测相同的常数值

    我有一个变量 我想预测未来 30 年的情况 不幸的是我没有很多样品 df pd DataFrame FISCAL YEAR 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 199
  • 使用 python 将 bibtex 文件转换为 html (也许是 pybtex?)

    您好 我想解析 bibtex 出版物文件并对特定字段 例如年份 进行排序并过滤某些内容 然后将其放在网站上 我遇到了 pybtex 它可以读取和解析 bibtex 文件 但它基本上没有记录 我不知道如何对条目进行排序 pybtex 是可行的
  • AttributeError:模块“tensorflow.python.summary.summary”没有属性“FileWriter”

    我收到此错误 尽管我到处都看过file writer tf summary FileWriter path to logs sess graph 被提到为正确的实施this https github com tensorflow tenso
  • python:如何检查一行是否为空行

    试图弄清楚如何编写一个 if 循环来检查一行是否为空 该文件有许多字符串 其中之一是一个空行 用于与其他语句分隔开 不是 我认为是一个回车符后面跟着另一个回车符 new statement asdasdasd asdasdasdasd ne
  • Python:像石英一样的事件调度程序[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • pyspark.sql.functions.window 函数的“startTime”参数和 window.start 有何作用?

    示例如下 df spark createDataFrame 1 2017 05 15 23 12 26 2 5 1 2017 05 09 15 26 58 3 5 1 2017 05 18 15 26 58 3 6 2 2017 05 15
  • 使用Python处理Sqlite数据库中的换行符“\n”?

    我有一个名为 test db 的 Sqlite 数据库 其中包含两个表 其结构如下 表 1 ID 整数主键自动增量 名称 varchar 500 颜色 varchar 500 表2 ID INTEGER PRIMARY KEY AUTOIN
  • 创建 Pyomo 约束的性能

    我正在用 pyomo 设置一个更大的能量优化问题 正如其他中提到的 设置花费了不合理的时间问题 https stackoverflow com questions 43413067 performance of pyomo to gener
  • 函数内部变量的赋值会改变外部的赋值 - Python

    我从使用 Matlab 转向使用 Python 使用函数时的变量赋值让我感到困惑 我有一个代码如下 a 1 1 1 def keeps x y x y 1 2 return y def changes x y x y 1 2 return
  • 使用字典时如何避免 KeyError?

    现在我正在尝试编写汇编程序 但我不断收到此错误 Traceback most recent call last File Users Douglas Documents NeWS py line 44 in if item in regis
  • 使用 python 更改目录

    我碰巧发现我无法从 python 代码中更改实际目录 我的测试程序如下 from os import system def sh script system bash c s script sh cd home sh pwd 的输出pwd
  • 如何将 MP3 音频文件读入 numpy 数组/将 numpy 数组保存到 MP3?

    有没有办法从 MP3 音频文件中读取 写入 MP3 音频文件numpy具有类似 API 的数组scipy io wavfile read https docs scipy org doc scipy 0 14 0 reference gen
  • python中的unicode错误[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 在下面的代码中我收到错误mailSe
  • Python UPnP/IGD 客户端实现?

    我正在寻找一个开源实现UPnP http elinux org UPnPPython 中的客户端 更具体地说是它的互联网网关设备 http en wikipedia org wiki Internet Gateway Device Prot
  • 如何使用Python3.4在tornado中进行异步mysql操作?

    我现在使用Python3 4 我想在Tornado中使用异步mysql客户端 我已经发现torndb https github com bdarnell torndb但在阅读其源代码后 我认为它无法进行异步mysql操作 因为它只是封装了M
  • 在 Python 中,如果我有 unix 时间戳,如何将其插入 MySQL 日期时间字段?

    我正在使用 Python MySQLDB 我想将其插入 Mysql 中的 DATETIME 字段 我该如何使用cursor execute 来做到这一点 要将 UNIX 时间戳转换为 Python 日期时间对象 请使用datetime fr
  • 使用 Python 3.x 基本获取 URL 的 HTML 正文

    我是Python新手 我对 Python 2 x 中的旧 urllib 和 urllib2 与 Python 3 中的新 urllib 之间的差异有点困惑 除此之外 我不确定数据在发送到 urlopen 之前何时需要编码 我一直在尝试使用

随机推荐