如何在具有 Decimal 类型值的 pandas TimeSeries 上使用mean方法?

2024-02-11

我需要将 Python 十进制类型值存储在 pandas 中TimeSeries/DataFrame目的。在 TimeSeries/DataFrame 上使用“groupby”和“mean”时,Pandas 给我一个错误。以下基于浮动的代码效果很好:

[0]: by = lambda x: lambda y: getattr(y, x)

[1]: rng = date_range('1/1/2000', periods=40, freq='4h')

[2]: rnd = np.random.randn(len(rng))

[3]: ts = TimeSeries(rnd, index=rng)

[4]: ts.groupby([by('year'), by('month'), by('day')]).mean()
2000  1  1    0.512422
         2    0.447235
         3    0.290151
         4   -0.227240
         5    0.078815
         6    0.396150
         7   -0.507316

但如果使用十进制值而不是浮点数执行相同的操作,我会收到错误:

[5]: rnd = [Decimal(x) for x in rnd]       

[6]: ts = TimeSeries(rnd, index=rng, dtype=Decimal)

[7]: ts.groupby([by('year'), by('month'), by('day')]).mean()  #Crash!

Traceback (most recent call last):
File "C:\Users\TM\Documents\Python\tm.py", line 100, in <module>
print ts.groupby([by('year'), by('month'), by('day')]).mean()
File "C:\Python27\lib\site-packages\pandas\core\groupby.py", line 293, in mean
return self._cython_agg_general('mean')
File "C:\Python27\lib\site-packages\pandas\core\groupby.py", line 365, in _cython_agg_general
raise GroupByError('No numeric types to aggregate')
pandas.core.groupby.GroupByError: No numeric types to aggregate

错误消息是“GroupByError('没有要聚合的数字类型')”。是否有机会在包含 Decimal 值的 TimeSeries 或 DataFrame 上使用标准聚合,例如总和、平均值和分位数?

为什么它不起作用?如果不可能的话,是否有机会有同样快速的替代方案?

编辑:我刚刚意识到大多数其他函数(最小值、最大值、中位数等)都可以正常工作,但不是我迫切需要的平均函数:-(。


import numpy as np
ts.groupby([by('year'), by('month'), by('day')]).apply(np.mean)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在具有 Decimal 类型值的 pandas TimeSeries 上使用mean方法? 的相关文章

随机推荐

  • 为什么 mysql 和 sqlite 的 SELECT 结果不同?

    我再问这个question https stackoverflow com questions 10161153 sqlite exists keyword how to query the highest average以简化和扩展的方式
  • 如何更改 Android 中 Exoplayer 中的音轨

    我有一些带有两个音轨的视频 我想在视频播放期间将音轨更改为另一种语言 我已经尝试了一切但仍然没有成功 这是我的代码 我正在使用 firebase 存储来存储视频 我到处搜索但找不到解决方案 我的代码正在运行 仍然没有出现任何错误 但我不可能
  • 如何检查是否设置了闹钟

    我正在尝试检查我的闹钟是否处于活动状态 在设置闹钟之前 alarmIsSet 方法将返回 false 设置闹钟时返回 true 到目前为止一切顺利 但是 在我取消闹钟后 alarmIsSet 将继续返回 true 直到我重新启动设备 我该如
  • 检查字符串是否采用特定日期格式

    您好 我收到一个带有日期格式的字符串年 月 日 但我想将它与格式进行比较日 月 年万一它不一样 肯定不一样 我想转换它 对我来说问题不是转换 而是比较两种格式 所以我想也许是这样的 var dt obj date this a string
  • 类型错误:无法使用此索引类型执行 __truediv__:DatetimeArray

    我有一个包含收盘价的数据框 Date World EN UT IND MAT CS CD IT FN TC HC 0 1997 06 13 939 3672 96 0238 75 2840 105 2635 124 7077 80 4562
  • 使用 Google 应用程序脚本将 xlsx 文件从 gdrive 导入到电子表格

    我目前正在创建一个脚本 可以将从 gdrive 文件夹存储的 xlsx 文件导入到电子表格中 我是否可以知道是否有人有我可以探索的参考或示例我已经做了一些研究 但其中一些正在 CSV 过程中 Firstly 这不是一些赠品服务 如果没有代码
  • 没有缓存版本的 gradle

    我在同步 gradle 时收到此错误 我对 gradle 还很陌生 所以不知道到底是什么问题 错误 没有 com android tools build 的缓存版本 gradle 0 10 1 可用于离线模式 当我去Setting gt G
  • 以编程方式将 SVG 形状转换为路径(lineto、moveto)

    我有一个来自 Inkscape Illustrator 或任何其他应用程序的 SVG 文件 我想将形状转换为lineto moveto curveto format 我想要的是这样的 Appname svgfile outfilewithp
  • Spring boot 中 /* 和 /** 模式有什么区别?

    当我发现过滤器之间存在差异时 我试图为过滤器注册某些 URL and 模式 Bean public FilterRegistrationBean tokenAuthenticationFilterBean FilterRegistratio
  • SQL查询获取另一个表中多行的行数

    在我的应用程序中 我有一组可以在列出资源时应用的过滤器 这些过滤器通过在执行查询之前添加 WHERE 子句等来构建查询 这是使用 SQL Server 2008 我有两个相关的表 一个包含有关资源的一些静态数据 另一个可以包含与该资源相关的
  • if 语句中的结构体初始化

    我想检查结构是否为空 即它的所有字段是否都设置为其默认值 以下内容按预期工作 package main import fmt type MyStruct struct field1 string field2 int func main v
  • R coxph() 警告:Loglik 在变量之前收敛

    我在使用 coxph 时遇到一些问题 我有两个分类变量 性别和可能的原因 我想将其用作预测变量 性别只是典型的男性 女性 但可能的原因有 5 个选项 我不知道警告消息有什么问题 为什么置信区间从 0 到 Inf 并且 p 值如此高 这是代码
  • jQuery Deferred 的 $.when() 和 failed() 回调参数

    使用时我得到了意想不到的结果 when 当其中一项延迟操作未成功时 以这个 JavaScript 为例 它创建了 2 个延迟 第一个成功 第二个失败 var f1 function return Deferred function dfd
  • jQuery UI 对话框链接而不是按钮

    我喜欢添加一个按钮 默认支持 并链接 jQuery UI 对话框 如何在 jQuery UI 对话框中添加链接 就我而言 我喜欢有 保存 按钮和 取消 链接 提前致谢 您必须按照您想要的方式设置按钮的样式 但这会注入一个链接并绑定单击 甚至
  • 如何在zendframework2中使用partial

    在ZF1中 我们在layout phtml文件中使用类似的部分 this gt partial header phtml array vr gt zf2 我们如何在 ZF2 中做到同样的事情 这可以通过以下方式实现 echo this gt
  • Python 导入错误“DLL 加载失败”| Python

    我正在 IIS6 Web 服务器后面提供 Django 应用程序 测试服务器运行完美 但是当在 Web 服务器后面运行时 模块无法导入 我收到此错误 加载 pyodbc 模块时出错 DLL加载失败 找不到指定的模块 只是为了记录该模块是py
  • Stack Overflow 桌面通知如何工作?

    也许这是一个相当大且模棱两可的问题 在 Stack Overflow 聊天室中 有一个 启用桌面通知 按钮 当有人回复您时 系统托盘中会显示一些内容 这是通过什么机制起作用的 这一直让我很好奇 网站如何访问系统托盘 它使用Notificat
  • javascript 循环中的承诺或如何一对一调用函数

    我和 slimerjs 一起工作 所以我有一个包含 url 和函数 foo 的数组 它可以用一个 url 来制作一些东西 该函数返回 Promise 如果我做这样的事情就可以了 foo urls then foo orError then
  • “只读...”类型的参数不可分配给“...[]”类型的参数

    有一个类似的问题 但与我在这里发现的问题不同 类型的参数不可分配给 类型的参数 TS 2345 https stackoverflow com questions 54298051 argument of type is not assig
  • 如何在具有 Decimal 类型值的 pandas TimeSeries 上使用mean方法?

    我需要将 Python 十进制类型值存储在 pandas 中TimeSeries DataFrame目的 在 TimeSeries DataFrame 上使用 groupby 和 mean 时 Pandas 给我一个错误 以下基于浮动的代码