Python pandas 相当于 R groupby mutate

2024-01-30

因此,在 R 中,当我有一个由 4 列组成的数据框时,将其称为df我想计算一个组的和积之比,我可以用这样的方式:

// generate data
df = data.frame(a=c(1,1,0,1,0),b=c(1,0,0,1,0),c=c(10,5,1,5,10),d=c(3,1,2,1,2));
| a   b   c    d |
| 1   1   10   3 |
| 1   0   5    1 |
| 0   0   1    2 |
| 1   1   5    1 |
| 0   0   10   2 |
// compute sum product ratio
df = df%>% group_by(a,b) %>%
      mutate(
          ratio=c/sum(c*d)
      );
| a   b   c    d  ratio |
| 1   1   10   3  0.286 |
| 1   1   5    1  0.143 |
| 1   0   5    1  1     |
| 0   0   1    2  0.045 |
| 0   0   10   2  0.454 |

但在 python 中我需要诉诸循环。 我知道应该有一种比 python 中的原始循环更优雅的方法,有人有什么想法吗?


可以使用类似的语法来完成groupby() and apply():

df['ratio'] = df.groupby(['a','b'], group_keys=False).apply(lambda g: g.c/(g.c * g.d).sum())
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python pandas 相当于 R groupby mutate 的相关文章

  • 打破嵌套循环[重复]

    这个问题在这里已经有答案了 有没有比抛出异常更简单的方法来打破嵌套循环 在Perl https en wikipedia org wiki Perl 您可以为每个循环指定标签 并且至少继续一个外循环 for x in range 10 fo
  • r 中训练和测试数据的最小最大缩放/归一化

    我正在创建一个函数 它将训练集和测试集作为其参数 最小 最大缩放 标准化并返回训练集并使用这些same最小值和最小 最大范围的值 标准化并返回测试集 到目前为止 这是我想出的功能 min max scaling lt function tr
  • Spark的distinct()函数是否仅对每个分区中的不同元组进行洗牌

    据我了解 distinct 哈希分区 RDD 来识别唯一键 但它是否针对仅移动每个分区的不同元组进行了优化 想象一个具有以下分区的 RDD 1 2 2 1 4 2 2 1 3 3 5 4 5 5 5 在此 RDD 上的不同键上 所有重复键
  • ggplot2 geom_密度和geom_histogram在一个图中

    如何制作一个所有条形加起来为 1 的直方图 并在适合的上方添加一个密度层 set seed 1234 df lt data frame sex factor rep c F M each 200 weight round c rnorm 2
  • 朴素贝叶斯分类器仅基于先验概率做出决策

    我试图根据推文的情绪将推文分为三类 买入 持有 卖出 我正在使用 R 和包 e1071 我有两个数据框 一个训练集和一组需要预测情绪的新推文 训练集数据框 text sentiment this stock is a good buy Bu
  • __del__ 真的是析构函数吗?

    我主要用 C 做事情 其中 析构函数方法实际上是为了销毁所获取的资源 最近我开始使用python 这真的很有趣而且很棒 我开始了解到它有像java一样的GC 因此 没有过分强调对象所有权 构造和销毁 据我所知 init 方法对我来说在 py
  • 安装后 Anaconda 提示损坏

    我刚刚安装张量流GPU创建单独的后环境按照以下指示here https github com antoniosehk keras tensorflow windows installation 但是 安装后当我关闭提示窗口并打开新航站楼弹出
  • 从 scikit-learn 导入 make_blobs [重复]

    这个问题在这里已经有答案了 我收到下一个警告 D Programming Python ML venv lib site packages sklearn utils deprecation py 77 DeprecationWarning
  • 在循环中每次迭代开始时将变量重新分配给原始值(在循环之前定义)

    在Python中 你使用 在每次迭代开始时将变量重新分配给原始值 在循环之前定义 时 也就是说 original 1D o o o for i in range 0 3 new original 1D revert back to orig
  • 从列表中的数据框列中搜索部分字符串匹配 - Pandas - Python

    我有一个清单 things A1 B2 C3 我有一个 pandas 数据框 其中有一列包含用分号分隔的值 某些行将包含与上面列表中的一项的匹配 它不会是完美的匹配 因为它在其中包含字符串的其他部分 该列 例如 该列中的一行可能有 哇 这里
  • NameError:名称“urllib”未定义”

    CODE import networkx as net from urllib request import urlopen def read lj friends g name fetch the friend list from Liv
  • Pandas Dataframe 中 bool 值的条件前向填充

    问题 如何转发 fill boolTruepandas 数据框中的值 如果是当天的第一个条目 True 到一天结束时 请参阅以下示例和所需的输出 Data import pandas as pd import numpy as np df
  • 表达式中的 Python 'in' 关键字与 for 循环中的比较 [重复]

    这个问题在这里已经有答案了 我明白什么是in运算符在此代码中执行的操作 some list 1 2 3 4 5 print 2 in some list 我也明白i将采用此代码中列表的每个值 for i in 1 2 3 4 5 print
  • 如何将 numpy.matrix 提高到非整数幂?

    The 运算符为numpy matrix不支持非整数幂 gt gt gt m matrix 1 0 0 5 0 5 gt gt gt m 2 5 TypeError exponent must be an integer 我想要的是 oct
  • 如何将 PIL 图像转换为 NumPy 数组?

    如何转换 PILImage来回转换为 NumPy 数组 这样我就可以比 PIL 进行更快的像素级转换PixelAccess允许 我可以通过以下方式将其转换为 NumPy 数组 pic Image open foo jpg pix numpy
  • 设置 torch.gather(...) 调用的结果

    我有一个形状为 n x m 的 2D pytorch 张量 我想使用索引列表来索引第二个维度 可以使用 torch gather 完成 然后然后还设置新值到索引的结果 Example data torch tensor 0 1 2 3 4
  • VSCode:调试配置中的 Python 路径无效

    对 Python 和 VSCode 以及 stackoverflow 非常陌生 直到最近 我已经使用了大约 3 个月 一切都很好 当尝试在调试器中运行任何基本的 Python 程序时 弹出窗口The Python path in your
  • 用于运行可执行文件的python多线程进程

    我正在尝试将一个在 Windows 上运行可执行文件并管理文本输出文件的 python 脚本升级到使用多线程进程的版本 以便我可以利用多个核心 我有四个独立版本的可执行文件 每个线程都知道要访问它们 这部分工作正常 我遇到问题的地方是当它们
  • 循环标记时出现“ValueError:无法识别的标记样式 -d”

    我正在尝试编码pyplot允许不同标记样式的绘图 这些图是循环生成的 标记是从列表中选取的 为了演示目的 我还提供了一个颜色列表 版本是Python 2 7 9 IPython 3 0 0 matplotlib 1 4 3 这是一个简单的代
  • Python - 字典和列表相交

    给定以下数据结构 找出这两种数据结构共有的交集键的最有效方法是什么 dict1 2A 3A 4B list1 2A 4B Expected output 2A 4B 如果这也能产生更快的输出 我可以将列表 不是 dict1 组织到任何其他数

随机推荐

  • Matplotlib:如何更改双条形图的图大小

    我使用以下代码在 matplotlib 中绘制了双条形图 x pd Series range 12 y self cust data Cluster ID value counts sort index z self cust data C
  • jsf动态改变托管bean

    如何动态更改托管 bean 的 value 属性 例如 我有 h inputText 并且根据输入的文本 托管 bean 必须是 studentBean login 或 lecturerBean login 简化形式
  • Ghost脚本不可写

    尝试在新 Macbook 上安装 Octave 但使用 Homebrew 时不断遇到问题 我在这里遵循指示 http wiki octave org Octave for MacOS X http wiki octave org Octav
  • TCPDF pdf 中的特定字体

    有人可以告诉我我做错了什么吗 我需要在 TCPDF 生成的 pdf 中使用 Arial 字体 首先我尝试使用它 1 我从Windows字体目录中获取Arial并将其放入TCPDF目录中 2 接下来我在脚本中写道 fontname pdf g
  • Django ORM:分组依据和最大值

    我有一个看起来像这样的模型 Requests user req time req text 在数据库中 记录可以如下所示 id user id req time req text 1 1 TIMESTAMP YES 2 1 TIMESTAM
  • 仅在 Apple Watch 上请求位置,无需在配对手机上请求位置代码

    我到处都看过 包括苹果的示例应用程序 https developer apple com library content samplecode PotLoc Listings Potloc WatchKit Extension Stream
  • ZeroMQ性能测试。准确的延迟是多少?

    我正在使用 zmq 跨进程传输消息 并且我想做一些性能测试来获取延迟和吞吐量 官方网站给出了指南讲述如何运行性能测试 http zeromq org results perf howto 例如 我尝试过 local lat tcp 1521
  • macOS 10.15 Catalina 安装中缺少 PHP 7.3.8 zip 扩展名 [重复]

    这个问题在这里已经有答案了 MacOS 10 15 Catalina 安装的 PHP7 3 8 版本不包含 PHP 扩展 zip 我该如何查找并安装该 zip 扩展名 Brew install php73 zip 报告没有具有该名称的可用公
  • AppDelegate、RootViewController 和 UIApplication 之间是什么关系?

    我试图找出 appdelegate RootViewControoler 和 UIApplication 之间的关系 到目前为止 这是我已经弄清楚的 当启动你的应用程序时 main m 被加载 从这里 您的 MainWindow xib 被
  • 为什么%p不显示指针的完整宽度?

    如果我没记错的话 在64位机器上 指针相当于一个介于0 and 2 64 1 因此得到以下结果 printf p void 1 0xffffffffffffffff printf 0x lx uintptr t 1 0xffffffffff
  • 如何更改 Visual Studio Code 中的键盘快捷键绑定?

    使用 Visual Studio Code 的过程是 Remap a built in command s keyboard shortcut For example say Open File default is Ctrl O it s
  • 这些字符是什么:⎲⎳?

    我使用 Lyx Latex 发行版 将我的内容转换为 HTML 页面 我注意到 Firefox 中表示的西格玛符号由这两个字符组成 第一个字符代表 Sigma 符号的上半部分 第二个字符代表下半部分 我试图在谷歌上搜索这些 奇怪 的字符 但
  • 编译器版本与 .NET Framework 版本 - ASP.NET 应用程序的场景

    设想 我的客户端计算机上有针对 3 5 的 VS 2010 C 4 编译器 我正在开发 ASP NET 应用程序 我在类文件中使用可选参数 支持 C 4 并编译代码 一切似乎都工作正常 后来在运行时发现了一个问题 其中一个旧的 我相信是经典
  • javascript 数组作为字符串列表(保留引号)

    我有一个字符串数组 当我使用 toString 输出它时 引号不会保留 这使得使用 in 构建 mysql 查询变得困难 考虑以下 SELECT FROM Table WHERE column IN item1 item2 item3 it
  • 调用 Camera.release() 后相机正在被使用

    在我的 Android 应用程序中按下拍照按钮后 相机崩溃并显示以下错误消息 E 03 21 2016 10 29 49 164 000007d1 CameraObject Camera is being used after Camera
  • 不使用 WHERE 语句的 INT 比较

    我正在尝试编写一条 MySQL 语句来返回这些结果 Name Day 0 Day 1 Day 2 Day 3 Day 4 Day 5 Jeff 0 3 1 2 1 1 Larry 1 1 4 4 1 0 基于每个员工每天执行的任务数量 我的
  • 如何设置任务经常运行?

    如何让脚本每隔 30 分钟运行一次 我认为不同的操作系统有不同的方法 我正在使用 OS X 只需使用launchd 它是一个非常强大的启动器系统 同时它也是 Mac OS X 的标准启动器系统 如果没有它 当前的 OS X 版本甚至无法启动
  • SceneKit:材质预览始终为黑色

    在 Xcode 中 我有一个从 DAE 文件转换而来的 SCN 文件 我与模型制作者一起设置了所有基于物理 PBR 的设置 但无论我做什么 预览总是黑色的 另外 如果我将环境更改为程序天空 模型也会显示为黑色 I m aware that
  • 如何在 ggplot 中创建气泡网格图?

    I want to create bubble grid charts with ggplot somthing like this 我在网上找不到任何代码或示例 Thanks Using geom point具有离散的 x 和 y 尺度将
  • Python pandas 相当于 R groupby mutate

    因此 在 R 中 当我有一个由 4 列组成的数据框时 将其称为df我想计算一个组的和积之比 我可以用这样的方式 generate data df data frame a c 1 1 0 1 0 b c 1 0 0 1 0 c c 10 5