Python:如果 DataFrame 之间的其他值匹配,则对 DataFrame 中的值求和

2023-11-30

我有两个不同长度的数据帧,如下所示:

数据框A:

FirstName    LastName
Adam         Smith
John         Johnson

数据框B:

First        Last        Value
Adam         Smith       1.2
Adam         Smith       1.5
Adam         Smith       3.0
John         Johnson     2.5

想象一下,我想要做的是在“DataFrame A”中创建一个新列,对具有匹配姓氏的所有值求和,因此“A”中的输出将是:

FirstName    LastName    Sums
Adam         Smith       5.7
John         Johnson     2.5

如果我在 Excel 中,我会使用

=SUMIF(dfB!B:B, B2, dfB!C:C)

在Python中,我一直在尝试多种解决方案,但同时使用np.where、df.sum()、删除索引等,但我迷失了。下面的代码返回“ValueError:只能比较相同标签的系列对象”,但我认为它无论如何都写得不正确。

df_a['Sums'] = df_a[df_a['LastName'] == df_b['Last']].sum()['Value']

非常感谢您的帮助。


Use boolean indexing with Series.isin进行过滤然后聚合sum:

df = (df_b[df_b['Last'].isin(df_a['LastName'])]
           .groupby(['First','Last'], as_index=False)['Value']
           .sum())

如果想要同时匹配名字和姓氏:

df = (df_b.merge(df_a, left_on=['First','Last'], right_on=['FirstName','LastName'])
           .groupby(['First','Last'], as_index=False)['Value']
           .sum())
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python:如果 DataFrame 之间的其他值匹配,则对 DataFrame 中的值求和 的相关文章

  • PyTorch 如何计算二阶雅可比行列式?

    我有一个正在计算向量的神经网络u 我想计算关于输入的一阶和二阶雅可比矩阵x 单个元素 有人知道如何在 PyTorch 中做到这一点吗 下面是我项目中的代码片段 import torch import torch nn as nn class
  • Python正则表达式查找所有单个字母字符

    我想找到字符串中单个字母字符每次出现的所有索引 我不想捕获单个字符 html 代码 这是我的代码 import re s fish oil B stack peanut c b words re finditer S s has alpha
  • 是否有与 f 字符串语法等效的可调用函数?

    每个人都喜欢 Python 3 6 的新 f 字符串 In 33 foo blah bang In 34 bar blah In 35 f foo bar Out 35 bang 然而 虽然在功能上非常相似 但它们的语义并不完全相同str
  • 将 Python 脚本导入另一个脚本?

    我正在阅读 Zed Shaw 的 艰难学习 Python 正在学习第 26 课 在本课中 我们必须修复一些代码 这些代码从另一个脚本调用函数 他说我们不必导入它们来通过测试 但我很好奇我们将如何做到这一点 课程链接 http learnpy
  • IP保持不变

    我正在尝试通过代码连接到 Tor 并更改我的身份 到目前为止我得到的结果是我连接成功但无法更改我的身份 这是我的代码 import socket import socks import httplib def connectTor sock
  • Pycharm 出现 Kivy 错误 [严重] [应用程序] 无法获取窗口,中止

    我正在尝试让示例 Kivy 代码之一在我的机器上运行 我使用的是 Pycharm 社区版 2017 1 安装了 anaconda python 2 7 和 Kivy 1 9 我已使用项目设置将 Kivy 模块和 Pygame 模块安装到项目
  • 为什么tcl/tkinter只支持BMP字符?

    我正在尝试在基于 tkinter 和 tcl 构建的 gui 中查询和显示 utf 8 编码字符 但是 我发现 tkinter 无法显示 4 字节字符 即大于 U FFFF 的 unicode 代码点 为什么会这样呢 实现非 BMP 字符对
  • 如何在 PyCharm 社区版中运行 Django 项目的调试服务器?

    有人在 PyCharm 社区版中为 Django 项目设置调试配置时遇到问题吗 IDE 的社区版缺少项目设置中的项目类型选项 然后当我设置 调试 或 运行配置 时 它会要求我提供应该运行的脚本 Django 需要什么脚本 manage py
  • Plotly:如何制作具有多条线和标准差阴影区域的图形?

    How can I use Plotly to produce a line plot with a shaded standard deviation I am trying to achieve something similar to
  • 到底什么是序列?

    蟒蛇docs https docs python org 3 glossary html term sequence有点模棱两可 sequence 一个可迭代对象 支持通过以下方式使用整数索引进行有效的元素访问 getitem 特殊方法并定
  • 查找提供的 Sum 值的组合

    我有一系列这样的数字 myvar 57 71 87 97 99 101 103 113 114 115 128 129 131 137 147 156 163 186 现在我想计算所有这些可能的组合 长度为1到20 其总和等于给定的数字m
  • Scrapy规则如何与爬行蜘蛛一起工作

    我很难理解 scrapy 爬行蜘蛛规则 我有一个例子 它并不像我希望的那样工作 所以它可能是两件事 我不明白规则是如何运作的 我形成了不正确的正则表达式 导致我无法获得所需的结果 好吧 这就是我想做的 我想编写爬行蜘蛛 它将获取所有可用的统
  • 访问具有动态名称的变量的值

    我发现了几个主题 其中讨论了在循环中动态创建单个变量是不好的做法 最好使用字典 就我而言 我不需要动态创建它们 我想要access他们在循环中 我不想用字典对于他们来说 因为这些变量在代码中的很多地方使用 并且只有一个地方我需要这种动态访问
  • 如何使绘图的 xtick 标签成为简单的绘图?

    我不想用单词或数字作为 x 轴的刻度标签 而是想绘制一个简单的绘图 由直线和圆圈组成 作为每个 x 刻度的标签 这可能吗 如果是这样 在 matplotlib 中处理它的最佳方法是什么 我会删除刻度标签并将文本替换为patches http
  • 使用 cv2 在 python 中创建多通道零垫

    我想用 cv2 opencv 包装器在 python 中创建一个多通道 mat 对象 我在网上找到了一些例子 其中 c Mat zeros 被 numpy zeros 替换 这看起来不错 但似乎没有多通道类型适合 看代码 import cv
  • 将带有日期的列转换为 R 中的行

    假设 R 中有一个如下所示的 data frame d data frame 2019q1 1 2019q2 2 2019q3 3 看起来像这样 X2019q1 X2019q2 X2019q3 1 1 2 3 我怎样才能把它变成这样 Yea
  • AWS Cognito 作为网站的 Django 身份验证后端

    我对 Cognito 的理解是 它可以用来代替本地 Django 管理数据库来对网站的用户进行身份验证 然而 我没有找到任何带有通过 Cognito 登录屏幕的基本 Hello World 应用程序的详细示例 如果有人可以发布一篇文章 逐步
  • 在 Django 1.7 中使用 html 发送电子邮件

    In 发送邮件 我们有一个新参数 html message Docs https docs djangoproject com en dev topics email send mail I have 电子邮件 html文件 我想发送我的消
  • 阅读 setup.py 中的 README

    所以 我想要long description我的设置脚本的内容是我的README md文件 但是当我这样做时 源代码发行版的安装将失败 因为python setup py sdist不复制自述文件 有没有办法让distutils core
  • python函数中的Return语句不返回任何内容[重复]

    这个问题在这里已经有答案了 我不明白退货和打印之间的区别 有人告诉我应该在函数语句中使用 return 但它不会返回任何内容 所以我一直在函数中使用 print 但我想了解为什么我的函数中的 return 语句不起作用 def triang

随机推荐

  • 如果.NET SqlConnection对象没有关闭,它会导致内存泄漏吗?

    我明白你需要打电话 Close on a SqlConnection对象在使用完毕后将底层 SQL 连接释放回池中 但如果您不这样做 即使超出范围后 NET 对象是否仍保留在内存中 我问这个问题是因为我正在处理一些遇到内存泄漏的代码 并且我
  • 如何在linux操作系统中设置solr/home?

    我知道如何配置solr home使用Tomcat 6 但我不知道如何设置solr home使用 Glassfish V2 1 我尝试过设置solr home in profile作为研究员 export solr home home hue
  • 打印时间时出现意外输出。时间类型别名

    我正在尝试为自定义类型编写一个解组函数 考虑下面的代码 操场 package main import encoding json fmt strings time type Time time Time func st Time Unmar
  • Spring Boot 安全注销不会使会话失效

    我的增强型宠物诊所应用程序需要安全性 目前注销功能似乎不起作用 我有一个 GET 版本 简单链接 和一个 POST 版本 通过链接提交的隐藏表单 登录后 无论我使用哪种方式注销 一旦我尝试再次登录 就不允许新的登录 我相信这与本节相关 se
  • 如何绘制Windows经典风格的窗口元素

    我们在程序中创建了一些自定义 窗口 当VisualStyles启用后 我们可以找到窗口的每个元素及其大小 并使用适当的渲染器自行绘制它们 包括最小化和关闭按钮 我们想做同样的事情VisualStyles已被禁用 目前正在绘制我们自己的窗口
  • JFreeChart PolarPlot:数学方向

    我想创建一个极坐标图 其中数据以数学方向绘制 因此 该系列从东方开始 然后逆时针继续 JFreeChart 的默认行为PolarPlot是从北开始并顺时针继续系列 是否有对此内置的支持PolarPlot班级 我知道如何转换数据以达到目标 但
  • 合并 2 个具有不同列名的数据框

    在 R 中 我有 2 个数据框 它们都有不同的列名称 我想根据列号组合每个数据框的行 我的数据框如下 gt d1 X 0 52 V2 X 0 52 V4 1 ABT 700 2 AMD 9600 3 AMG 600 4 AGCO 800 g
  • 如何将 Eigen::Matrix 映射到 std::vector

    例如 如果我有一个Eigen MatrixXd大小为 10 列和 3 行 我如何将其别名为std vector的 10 个元素Eigen Vector3d 当我说别名时 我的意思是使用相同的内存块而不进行复制 我知道我可以通过以下方式进行反
  • 如何使用 Firebase 云消息传递

    我找不到任何有关新版本的文档 版本7和版本6有大量文档 而版本9几乎不存在 不仅是我 大多数人都找不到 我只是想向后台发送简单的通知 如果有人分享有关新版本的文档 我将非常高兴 或者我应该使用旧版本 我想您知道如何将 firebase 添加
  • 在 C# 中将字符串转换为枚举标记[重复]

    这个问题在这里已经有答案了 可能的重复 如何在 C 中将字符串转换为枚举 如何在 C 中将字符串 文本 转换 强制转换 为 Enum 标记值 你可以这样做 MyEnum oMyEnum MyEnum Enum Parse typeof My
  • 使用 VBA 获取在 VBA 中使用的唯一值?

    我目前会使用类似的东西与范围 单元格或类似的许多不同的方式相同的基本原理 Range A1 Range A1 End xlDown AdvancedFilter Action xlFilterCopy CopyToRange Range I
  • 尝试为 Haskell 中的函数创建有效的算法

    我正在寻找一种有效的多项式时间解决方案来解决以下问题 实现一个递归函数节点 x y 来计算数字三角形中的第 x y 个数字 定义为 g x y 0 if x gt y 1 if x y 0 0 sum of all incoming pat
  • 使用 VS 2015 Update 2 配置 tslint

    我无法让 tslint 在 Visual Studio 2015 中正常工作 我应该明确指出 我安装了更新 2 我有 Web Essentials 但它声称它不再包含 linters 我没有网络分析器 如果这很重要的话 这是一个 ASP N
  • 有没有办法在 Gradle KTS 中实例化 KTS 脚本引擎?

    我想在我的项目构建过程中使用 3d party 库 库方法需要 ScriptEngine 当我尝试实例化它时 出现错误 java lang IllegalArgumentException Unable to construct scrip
  • Mongoose findOneAndUpdate:更新对象数组中的对象

    我有与此线程中描述的完全相同的问题 因此有类似的标题 Mongoose findOneAndUpdate 更新对象数组中的对象 给定这个模型 const SavedFoodsSchema new Schema user type Schem
  • 为什么我的组件没有包装在 Swing 的 FlowLayout 中?

    为什么我的组件没有使用 FlowLayout 包装在这个 JPanel 中 它们只是跑出屏幕并且仅部分可见 JPanel panel new JPanel new FlowLayout panel add new JLabel TEST r
  • 如何在nodejs中使用typescript/flow而不编译它

    有人可以给我一些建议或链接来讨论我是否应该为后端捆绑 JS 我尝试用这个标题 和类似的词 搜索谷歌 但找不到任何有用的链接 只是想知道 假设我正在使用最新的 Node JS es6 ready 我应该捆绑 编译 JS 吗 如果没有 我该如何
  • 循环 Observable 数据,推送到数组,并显示数组打字稿的所有结果

    我如何循环遍历我作为 Observable 订阅的数据 将其推送到数组 并显示数组的全部数据 我目前的代码仅显示每个 页面 的数据 而不是所有页面 我之所以要这样做 是因为我想制作无限滚动 谢谢你 成分 this storiesServic
  • 来自资源字符串的 Toast.makeText

    我有一个名为 MyPrimaryClass 的类 该类有一个按钮 按下时会创建一个类为 myClassForResult 的 Intent 我用它来启动它 startActivityForResult myIntentOfMyClassFo
  • Python:如果 DataFrame 之间的其他值匹配,则对 DataFrame 中的值求和

    我有两个不同长度的数据帧 如下所示 数据框A FirstName LastName Adam Smith John Johnson 数据框B First Last Value Adam Smith 1 2 Adam Smith 1 5 Ad