pandas,将多列的多个函数应用于groupby对象

2024-01-04

我想将多列的多个函数应用于 groupby 对象,这会产生一个新的pandas.DataFrame.

我知道如何分步骤完成:

by_user = lasts.groupby('user')
elapsed_days = by_user.apply(lambda x: (x.elapsed_time * x.num_cores).sum() / 86400)
running_days = by_user.apply(lambda x: (x.running_time * x.num_cores).sum() / 86400)
user_df = elapsed_days.to_frame('elapsed_days').join(running_days.to_frame('running_days'))

Which results in user_df being: user_df

但我怀疑有更好的方法,例如:

by_user.agg({'elapsed_days': lambda x: (x.elapsed_time * x.num_cores).sum() / 86400, 
             'running_days': lambda x: (x.running_time * x.num_cores).sum() / 86400})

然而,这不起作用,因为据我所知agg()致力于pandas.Series.

我确实找到了这个问题和答案 https://stackoverflow.com/q/14529838/3447047,但这些解决方案对我来说看起来相当丑陋,考虑到答案已经有近四年的历史了,现在可能有更好的方法。


解决方案的另一个可靠的变化是做 @MaxU 所做的事情这个解决方案 https://stackoverflow.com/a/43417577/3899919 to 类似的问题 https://stackoverflow.com/questions/43417090/apply-multiple-functions-at-one-time-to-pandas-groupby-object并包装各个功能在熊猫系列中,因此只需要一个reset_index()返回一个数据帧。

首先,定义转换函数:

def ed(group):
    return group.elapsed_time * group.num_cores).sum() / 86400

def rd(group):
    return group.running_time * group.num_cores).sum() / 86400

将它们包装在一个系列中使用get_stats:

def get_stats(group):
    return pd.Series({'elapsed_days': ed(group),
                      'running_days':rd(group)})

Finally:

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

pandas,将多列的多个函数应用于groupby对象 的相关文章

随机推荐

  • 在 C++11 中实现元函数 zip

    我实际上想看看是否可以获得一个最小的库 该库支持我从 boost fusion 使用的极少数操作 这是我到目前为止所拥有的 template lt typename Types gt struct typelist template lt
  • 是什么导致Spring在使用AnnotationConfigApplicationContext时无法加载配置类?

    我最近遇到了这个问题 在搜索 stackoverflow 网站后 找不到可行的解决方案 我收到的错误是 Spring 在加载配置类时遇到问题 我使用注释和 Spring 类来配置 而不是 XML 文件 以练习使用注释而不是 XML 文件配置
  • 是否可以强制使用 DataType 作为 DataType.Currency 的 MVC3 字段的货币

    我正在编写一个 MVC3 应用程序 它从数据库中读取一堆货币数据 我遇到的问题是这些金额都是不同的货币 如果我像这样设置字段的类型 DataType DataType Currency public Amount get set 我得到小数
  • 添加使用向上和向下箭头键选择表格行的功能

    我需要专家的帮助来解决我的以下问题 因为它超出并远远超出了我对 JavaScript 编程的知识水平 鉴于下面现有的 JavaScript 编码 我如何搭载并添加到现有编码中 以便为用户添加功能 以便在滚动时使用向上和向下箭头键滚动表格 顺
  • 我无法使用 libusb for Ruby 模拟嗅探 urb 中断

    嗅探 URB INTERRUPtions 我嗅探了一些应用程序 SoundLab 和设备 带 USB 的声波计 之间的通信 我找到了一个负责返回当前状态的数据包 USB URB Source host Destination 1 1 2 U
  • 包主要版本更改是否意味着子包主要版本更改?

    假设我有一个核心 CMS 已从v4 8 7 to v5 0 0 我还有一个事件模块包 有自己的版本号1 2 4它将这个核心 CMS 包导入到它的composer json file company name cms 4 3 我将这个包上的c
  • Tesseract 混淆两个数字

    我正在编写一个应用程序来扫描图像中的数字 这些数字使用 OCR B 字体 并且还可能包含 and gt 人物 这是我的源图像 即使将字符集限制为上述字符 使用 Tesseract 的扫描效果也不是很好 由于我没有找到 Tesseract 的
  • Visual Studio 不会调试到引用的 DLL(来自同一解决方案)

    我有一个 Visual studio 2008 解决方案 有 2 个项目 一个 DLL A 一个 Web 应用程序 B B 有一个对 A 的项目引用 并且 A dll 和 A pdb 正在被复制到 B 的 bin 目录中 一切都设置为在调试
  • 文件夹外的文件夹路径

    我的主文件夹中有一个包含所有 css 的文件夹 名为 main 在 main 中 我有另一个名为 math 的文件夹 我想在 math 文件夹中使用我的CSS 但是当我输入 在 math 文件夹的index html 上它可以工作 我认为这
  • 无法在 Codeigniter 中加载请求的类 Session

    我的图书馆在autoload php is autoload libraries array database pagination session cart form validation 我收到此错误 An Error Was Enco
  • Kotlin 注解 IntDef

    我有这个代码示例 class MeasureTextView TextView constructor context Context super context constructor context Context attrs Attr
  • 如何向框架添加鼠标监听器

    我想向 mt JFrame 框架添加一个 mouselistener 但是当我执行 frame addMouseListener this 时 我收到一个错误 指出我无法在静态方法中使用它 我正在制作一个应用程序 检测鼠标的单击 然后以 i
  • 如何使用 scikit 的预处理/标准化以及交叉验证?

    作为没有任何预处理的交叉验证的示例 我可以这样做 tuned params penalty l2 l1 from sklearn linear model import SGDClassifier SGD SGDClassifier fro
  • 如果选中则获取复选框值

    我正在使用 HTML 和 JQuery mobile 构建一个表单 以便该表单可以在移动设备上使用 我有通过电子邮件导出到 CSV 的表单 但是 如果未选中复选框 则不会写入 CSV 文件 我可以使用 jQuery 中的函数使用标签中的值从
  • MySQL GROUP_CONCAT 多个字段

    我可能正处于无脑时刻 我想使用 GROUP CONCAT 从数据库中的两个字段返回一系列数字 到目前为止我已经使用以下方法完成了此操作 SELECT t id CONCAT GROUP CONCAT DISTINCT s id IFNULL
  • 如何在 C# 中序列化和反序列化以字节数组作为成员的类

    我正在尝试以字节流的形式在两个进程之间发送数据 这对于几乎所有类都工作得很好 但我遇到的一个问题是 如果对象的类内部有一个字节数组并给出 则反序列化会失败我收到一个错误 指出无法加载发生序列化的程序集 我无法将程序集包含在此处 因为发送方和
  • matplotlib:3D 图中的网格

    In matplotlib 如何在 3D 散点图中显示网格 在二维图中我只是这样做 plt grid True 它就像一个魅力 现在 对于 3D 绘图 相同的调用会返回警告 File usr lib pymodules python2 7
  • Haystack - 为什么 RealtimeSearchIndex 有时不更新我保存的对象

    我正在将 Haystack 和 Whoosh 与 Django 一起使用 在 search index py 中我有这个 class PageIndex RealTimeSearchIndex text CharField document
  • 在 Collectionview 中如何根据选择设置颜色?

    我的要求是首先设置默认颜色indexPath我想根据选择改变颜色 我的要求是当集合视图在第一个索引加载时背景颜色应该是红色 未选择的颜色是蓝色 如何管理这个 这是我的代码 import UIKit class MyCollectionVie
  • pandas,将多列的多个函数应用于groupby对象

    我想将多列的多个函数应用于 groupby 对象 这会产生一个新的pandas DataFrame 我知道如何分步骤完成 by user lasts groupby user elapsed days by user apply lambd