熊猫:组内最大值和最小值之间的差异

2024-03-07

给定一个如下所示的数据框

GROUP VALUE
  1     5
  2     2
  1     10
  2     20
  1     7

我想计算每组内最大值和最小值之间的差异。也就是说,结果应该是

GROUP   DIFF
  1      5
  2      18

在 Pandas 中执行此操作的简单方法是什么?

对于大约 200 万行和 100 万组的数据框,在 Pandas 中执行此操作的快速方法是什么?


使用@unutbu的df

每个时间
unutbu 的解决方案最适合大型数据集

import pandas as pd
import numpy as np

df = pd.DataFrame({'GROUP': [1, 2, 1, 2, 1], 'VALUE': [5, 2, 10, 20, 7]})

df.groupby('GROUP')['VALUE'].agg(np.ptp)

GROUP
1     5
2    18
Name: VALUE, dtype: int64

np.ptp docs https://docs.scipy.org/doc/numpy/reference/generated/numpy.ptp.html#numpy.ptp返回数组的范围


timing
small df

large df
df = pd.DataFrame(dict(GROUP=np.arange(1000000) % 100, VALUE=np.random.rand(1000000)))

large df
许多团体
df = pd.DataFrame(dict(GROUP=np.arange(1000000) % 10000, VALUE=np.random.rand(1000000)))

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

熊猫:组内最大值和最小值之间的差异 的相关文章

  • Gunicorn 工作人员无论如何都会超时

    我正在尝试通过gunicorn运行一个简单的烧瓶应用程序 但是无论我做什么 我的工作人员都会超时 无论是否有针对应用程序的活动 工作人员在我设置任何内容后总是会超时timeout值到 是什么导致它们超时 当我发出请求时 请求成功通过 但工作
  • 如何在 Matplotlib 饼图周围绘制箭头以将每个标签指向圆圈中各自的部分?

    我一直在用 Matplotlib 绘制一些图表 我有一个饼图 想要在图表周围绘制箭头 使每个标签都指向图表 我有一个例子 这是我当前的代码 import matplotlib pyplot as plt plt rcParams font
  • 我应该使用 Python 双端队列还是列表作为堆栈? [复制]

    这个问题在这里已经有答案了 我想要一个可以用作堆栈的 Python 对象 使用双端队列还是列表更好 元素数量较少还是数量较多有什么区别 您的情况可能会根据您的应用程序和具体用例而有所不同 但在一般情况下 列表非常适合堆栈 append is
  • 在 Django Admin 中调整字段大小

    在管理上添加或编辑条目时 Django 倾向于填充水平空间 但在某些情况下 当编辑 8 个字符宽的日期字段或 6 或 8 个字符的 CharField 时 这确实是一种空间浪费 字符宽 然后编辑框最多可容纳 15 或 20 个字符 我如何告
  • Pycharm 在 os.path 连接上出现“未解析的引用”

    将pycharm升级到2018 1 并将python升级到3 6 5后 pycharm报告 未解析的引用 join 最新版本的 pycharm 不会显示以下行的任何警告 from os path import join expanduser
  • MongoEngine 查询具有以列表中指定的前缀开头的属性的对象的列表

    我需要在 Mongo 数据库中查询具有以列表中任何前缀开头的特定属性的元素 现在我有一段这样的代码 query mymodel terms term in query terms 并且这会匹配在列表 term 上有一个项目的对象 该列表中的
  • Tensorboard SyntaxError:语法无效

    当我尝试制作张量板时 出现语法错误 尽管开源代码我还是无法理解 我尝试搜索张量板的代码 但不清楚 即使我不擅长Python 我这样写路径C Users jh902 Documents logs因为我正在使用 Windows 10 但我不确定
  • 矩形函数的数值傅里叶变换

    本文的目的是通过一个众所周知的分析傅里叶变换示例来正确理解 Python 或 Matlab 上的数值傅里叶变换 为此 我选择矩形函数 这里报告了它的解析表达式及其傅立叶变换https en wikipedia org wiki Rectan
  • GUI(输入和输出矩阵)?

    我需要创建一个 GUI 将数据输入到矩阵或表格中并读取此表单数据 完美的解决方案是限制输入表单仅允许float 例如 A 1 02 0 25 0 30 0 515 0 41 1 13 0 15 1 555 0 25 0 14 1 21 2
  • 从 Powershell 脚本安装 Python

    当以管理员身份从 PowerShell 命令行运行以下命令时 可以在 Windows 11 上成功安装 Python c temp python 3 11 4 amd64 exe quiet InstallAllUsers 0 Instal
  • 未知错误:Chrome 无法启动:异常退出

    当我使用 chromedriver 对 Selenium 运行测试时 出现此错误 selenium common exceptions WebDriverException Message unknown error Chrome fail
  • 嵌套作用域和 Lambda

    def funct x 4 action lambda n x n return action x funct print x 2 prints 16 我不太明白为什么2会自动分配给n n是返回的匿名函数的参数funct 完全等价的定义fu
  • 尽管我已在 python ctypes 中设置了信号处理程序,但并未调用它

    我尝试过使用 sigaction 和 ctypes 设置信号处理程序 我知道它可以与python中的信号模块一起使用 但我想尝试学习 当我向该进程发送 SIGTERM 时 但它没有调用我设置的处理程序 只打印 终止 为什么它不调用处理程序
  • Python - 如何确定解析的 XML 元素的层次结构级别?

    我正在尝试使用 Python 解析 XML 文件中具有特定标记的元素并生成输出 excel 文档 该文档将包含元素并保留其层次结构 我的问题是我无法弄清楚每个元素 解析器在其上迭代 的嵌套深度 XML 示例摘录 3 个元素 它们可以任意嵌套
  • Django REST Framework - CurrentUserDefault 使用

    我正在尝试使用CurrentUserDefault一个序列化器的类 user serializers HiddenField default serializers CurrentUserDefault 文档说 为了使用它 请求 必须作为
  • Python:Goslate 翻译请求返回“503:服务不可用”[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我们不允许提出寻求书籍 工具 软件库等推荐的问题 您可以编辑问题 以便用事实和引文来回答 这个问题似乎不是关于主要由程序员使用的特定编程问
  • 如何从pandas中的多列计算多列

    我正在尝试使用函数从 pandas 数据框中的多个列计算多个列 该函数采用三个参数 a b 和 c 并返回三个计算值 sum prod 和 quot 在我的 pandas 数据框中 我有三个列 a b 和 c 我想从中计算列 sum pro
  • python 对浮点数进行不正确的舍入

    gt gt gt a 0 3135 gt gt gt print 3f a 0 314 gt gt gt a 0 3125 gt gt gt print 3f a 0 312 gt gt gt 我期待 0 313 而不是 0 312 有没有
  • 如何将Python3设置为Mac上的默认Python版本?

    有没有办法将 Python 3 8 3 设置为 macOS Catalina 版本 10 15 2 上的默认 Python 版本 我已经完成的步骤 看看它安装在哪里 ls l usr local bin python 我得到的输出是这样的
  • JSON:TypeError:Decimal('34.3')不是JSON可序列化的[重复]

    这个问题在这里已经有答案了 我正在运行一个 SQL 查询 它返回一个小数列表 当我尝试将其转换为 JSON 时 出现类型错误 查询 res db execute SELECT CAST SUM r SalesVolume 1000 0 AS

随机推荐

  • 如果从数据库加载两次,hibernate 是否会加载同一实例的两个单独副本?

    我知道关于延迟加载有很多不同的问题 但我的问题有点不同 假设我有一个实体 A 其中有实体 B 的集合 类似地 在实体 B 中 我有 A 的集合 在这两种情况下 都使用lazy true 选项 Entity A的实例 aA 有 gt Set
  • 如何安装GWT浏览器插件?

    我如何安装适用于 Chrome 的 GWT 浏览器插件 https chrome google com webstore detail gwt developer plugin jpjpnpmbddbjkfaccnmhnkdgjideiei
  • 如何清除应用程序中的远程通知?

    有没有办法从 iPhone 屏幕顶部向下滑动时清除通知横幅中的远程通知 我尝试将徽章编号设置为零 application applicationIconBadgeNumber 0 代表中didFinishLaunchingWithOptio
  • 在代码中访问编译器常量

    是否可以在如下代码中使用编译器定义的常量 If DEALER DEBUG ID12345 Then If Dealer ID DEALER DEBUG Then Do something End If End If 我正在运行批处理 但我的
  • 如何从 MediaCodec 解码器的输出中提取 PCM 样本

    我正在尝试从解码的 mp4 缓冲区获取 PCM 样本以进行进一步处理 我首先从使用手机相机应用程序录制的视频文件中提取音轨 并且确保当我获得 audio mp4 mime 键时已选择音轨 MediaExtractor extractor n
  • Python 中日期的正则表达式:英国:日-月-年

    我正在尝试使用 python 编写一个 REGEX 来根据 英国 日 月 年 识别日期 我写了一些随机字符串 如下所示 string these are just rubbish 01 13 00 00 44 44 11 2 2222 24
  • 使用 CodeIgniter 的动态表单生成器[关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我计划为不同的表单布局构建一个动态表单 http bootsnipp com forms version 3 http bootsnipp
  • python字典中的5个最大值

    我有一本这样的字典 A a 10 b 843 c 39 我想获取这个字典的 5 个最大值并用它存储一个新的字典 为了获得最大值 我做了 max A iteritems key operator itemgetter 1 0 也许这是一件容易
  • 有没有办法强制 conda install 安装软件包及其依赖项而不是给出错误

    我有一个正在安装软件包的 miniconda 环境 我想安装一个软件包 并且我知道可能会存在一些冲突 但是要解决这些冲突 要么需要安装缺少的软件包 要么需要降级 升级另一个软件包 并且它已成为一个尝试降级 升级和安装软件包的漫长兔子洞 有没
  • SSR 如何与 PWA 结合

    如何使用 PWA 渐进式 Web 应用程序 进行 SSR 服务器端渲染 据我了解 SSR SSR 运行时将加载页面并运行必要的脚本以将数据加载到页面上 然后返回渲染后的html 这对于不会运行 javascript 的网络爬虫和无脚本的浏览
  • 使用字符串访问属性

    给定一个与对象字段同名的字符串 如何获取对象字段的引用 例如 假设我向 GetFieldByStr 方法传入一个名为 field1 的字符串 并且该对象具有字段名称 field1 那么如何获取对 field1 对象的引用 我假设以某种方式使
  • 使用 Ratchet\Push.js 加载页面后执行自定义脚本

    所以在 GitHub 文档上棘轮2 0 2 https github com twbs ratchet我发现了以下说法 包含 JavaScript 的脚本标签将不会在以下页面上执行 加载了push js 如果您想将事件处理程序附加到 其他页
  • 负整数除法令人惊讶的结果

    在我的应用程序中 我遇到了以下情况并对结果感到惊讶 8 7 2 均为整数 这是什么意思 对于实际值 即8 0 7 0 结果大致为 1 143 使用整数除法的结果将向下舍入到更负的值 2 这也称为 楼层划分 这就是为什么你会得到一些令人困惑的
  • 如何获取字符串中单词的所有组合

    我想获得字符串中所有相邻单词的组合 例如 细绳get all combinations我想要得到 get all combinations all combinations get all all get combinations 我写下一
  • SQL 多个 where 子句

    我找不到像这样使用多个 where 子句是否有效 我使用 JPA MySQL 我需要多个 where 子句 其中一个在这里是 not 还是我遗漏了一些东西 select d from T DEBIT d where d status PEN
  • 更改 UIView 的边界并使 UICollisionBehavior 对其做出反应

    是否可以更改 UIView 的边界 使用 UIAttachmentBehaviors 附加到其他一些 UIView 并使 UICollisionBehavior 与 UIAttachmentBehavior 相结合对其做出响应 如此处的示例
  • 在 Go 中解组通用 json [重复]

    这个问题在这里已经有答案了 我是一名新的 Go 程序员 来自 Java 我想重现一种易于在 Java 中使用的通用方法 我想创建一些函数 允许我对 JSON 字符串执行 Unmarshal 以避免代码重复 这是我当前不起作用的代码 type
  • java.sql.SQLException:连接已关闭

    我们正在得到java sql SQLException 连接已关闭 执行事务时间歇性出现异常 我们使用的是 tomcat 7 X 下面是配置
  • .Net C# RESTSharp 10 分钟超时

    我已将浏览器控件嵌入到 Net 表单中 并将其编译为窗口的可执行文件 浏览器控件正在显示我们的 HTML5 图像查看器 该应用程序打开套接字 以便它可以侦听来自各个服务器的 推送 请求 这允许将图像推送到单个用户的桌面 当传入图像推送请求时
  • 熊猫:组内最大值和最小值之间的差异

    给定一个如下所示的数据框 GROUP VALUE 1 5 2 2 1 10 2 20 1 7 我想计算每组内最大值和最小值之间的差异 也就是说 结果应该是 GROUP DIFF 1 5 2 18 在 Pandas 中执行此操作的简单方法是什