Groupby 与 min 结合,同时保留整个数据帧[重复]

2024-03-16

我想结合 groupby 和 min 但保留整个数据框。如果我使用下面的方法,我最终只会得到 2 列,即 col1 和 col2:

对于这个 df:

col1  col2    col3
1      1       'A'
1      0       'B'
2      2       'C'
2      3       'D'

df.groupby(df['col1'])[['col2']].min():

col1  col2    
1      0       
2      2      

但是,一旦确定了 col2 的最小行,我就需要 col3 中该行的相应元素,因此:

col1  col2    col3
1      0       'B'
2      2       'C'

最简单的方法是分两步。首先准备包含这些最小值的支持数据框。第二 - 初始数据帧与支持数据帧的内部合并。您可以将其视为“内部联接”,但无需分隔列(典型的联接需要您添加后缀以区分数据源 - 左数据源和右数据源)。

首先我们创建初始数据框:df1 = pd.DataFrame(data={'col1':[1,1,2,2],'col2':[1,0,2,3],'col3':['A','B','C','D']})

然后我们必须执行我们的groupby。我们必须在事后重置索引。否则栏col1将被视为索引:df2 = df.groupby(df['col1'])[['col2']].min().reset_index()

我们的最后一步是在内部合并两者:pd.merge(df1, df2, how='inner')

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

Groupby 与 min 结合,同时保留整个数据帧[重复] 的相关文章

随机推荐

  • 重叠金属点基元和混合

    我正在渲染部分重叠的点基元 片段着色器将每个点基元正方形的部分着色为透明 实心中心圆 不与任何其他点基元重叠的点基元将按预期着色 正方形的透明区域显示背景 当这样的点基元与另一个点基元重叠时 行为是意外的 具体来说 透明区域不显示周围点图元
  • 检查 Selenium 中的 HTTP 状态代码

    如何在Selenium中获取HTTP状态码 例如 所以我可以测试一下 如果浏览器请求 user 27并且不存在ID 27的用户 则返回HTTP 404 我的主要兴趣是 Selenium RC 但如果有人知道 正常 selenium 的答案
  • 如何显示加在一起等于零的行

    几周来一直在寻找解决方案 但一无所获 我有类似这样的数据表 client ref supplier key client amount 1111 GBP 10 1111 GBP 10 1111 EUR 50 2222 CHF 22 5 22
  • 画布内存使用总量超出最大限制 (Safari 12)

    我们正在研究一个可视化网络应用程序 https affinitymap epfl ch它使用 d3 force 在画布上绘制网络 但现在 iOS 上的浏览 器遇到了问题 在与界面进行几次交互后 进程就会崩溃 据我记得 这不是旧版本 iOS1
  • 未知的输入格式:'x11grab'

    guys 当我编译 ffmpeg 并在 linux 中运行 ffmpeg 时遇到问题 我的环境 1 ubuntu 17 10 x64 bit 我认为操作系统版本不是关键 2 gcc Ubuntu 6 3 0 19ubuntu1 6 3 0
  • 我的异步调用在 forEach 循环中填充列表之前返回

    我有一个例程 它从设备获取文件名列表 然后读取文件以构建列表 然而 调用例程总是返回零项 我打印文件名 所以我知道它们存在 但是 在我读取文件之前 异步似乎正在返回 我在进行 HTTP 调用时使用了类似的代码 但是 这里的某些事情导致例程返
  • 什么是 ./.local/share/Trash (Unix) [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在使用虚拟机来运行 Java Web 应用程序 操作系统是 XFCE Ubuntu 我使用命令找到了我想要的文件find name s
  • 奇怪的 GCC 错误:程序中出现杂散 '\NNN'

    我的开源库中出现了以下问题 我无法弄清楚发生了什么 我的两个用户有 GCC 编译器错误 如下所示 home someone Source src regex cpp 1 1 warning null character s ignored
  • 错误 ITMS - 90167 在包中找到的应用程序包数量

    在开始撰写有关该错误的文章之前 我正在 macOS Sierra 上运行并使用 Xcode 7 3 1 因此 我从我的应用程序创建一个存档 我验证该应用程序并通过验证 但在上传到应用程序商店时 我收到错误 错误 ITMS 90167 在包中
  • 从函数的签名中获取位置参数的名称

    使用 Python 3 x 我尝试从某个函数获取所有位置参数的名称 即 def foo a b c 1 return 现在我正在这样做 from inspect import signature empty args x for x p i
  • 使用 log4net 进行日志记录的最佳实践是什么?

    有人告诉我使用 log4net 将 日志记录 添加到我的代码中 问题是没有人可以及时旅行并查看日志记录需要用来解决哪些现实世界问题 因此 是否有一套关于记录哪些内容以获得合理的成本 收益权衡 所以 应该添加什么类型的日志记录 到一个有用的应
  • 更改 SweetAlert 上的图标图像大小

    我正在尝试更改 SweetAlert 上的图标图像大小 在 css 文件中我看到 sweet alert sa icon width 80px height 80px border 4px solid gray webkit border
  • 从 R Studio 中的 mclapply 打印

    我在 RStudio 中使用 mclapply 并希望从每个进程向控制台输出 但这似乎以某种方式被抑制 例如这里提到的 mclapply 是否保证按顺序返回其结果 https stackoverflow com questions 1469
  • 避免派生类 C++ 中的“纯虚函数调用”

    我对 C 相当陌生 所以如果这个问题的水平稍微低于这里的通常标准 我想道歉 我试图让几个类从具有虚拟函数定义的基类继承 然后我想创建一个 MainClass 数组 它可以包含所有派生类 以便输出派生 定义的虚拟功能 我收到错误 R6025
  • 检测 stdout 是否重定向到管道(而不是文件、字符设备、终端或套接字)?

    理想情况下 这可以在 shell 中编写脚本 但 Perl 或 Python 也可以 C 代码可能会有帮助 但可能不符合成本 效益 我认识到重定向到 FIFO 命名管道 可能与真实管道无法区分 这已经是我并不真正关心的边缘情况了 严格的 P
  • brew 安装 libusb 链接失败

    我正在安装libusb with brew在我的 Mac 中 酿造安装libusb 链接步骤失败 如下所示 Error The brew link step did not complete successfully The formula
  • API 级别低于 9 的 android:filterTouchesWhenObscured 的类似物

    从 API 级别 9 开始 有android filterTouchesWhenObscured属性及对应setFilterTouchesWhenObscured方法上ViewGroup 例如 当视图有onClickListener设置并且
  • 从 XMLHttpRequest 中删除 HTTP 标头

    我正在开发一个 ajax 长轮询类型应用程序 我想最大限度地减少我使用的带宽量 目前最大的成本之一是客户端 HTTP 标头 一旦我建立了连接并在客户端上存储了会话 ID 我真的不想再浪费任何带宽来传输冗余的 http 信息 例如浏览器类型
  • 使用Java根据数据库中的最大ID生成下一个ID

    我正在开发一个网络应用程序 它将有多个用户 我使用mysql作为数据库 在我的应用程序中 我正在获取最新的id from the database using max id 然后为新注册生成下一个 id 这种方法是不正确的 因为 id 可能
  • Groupby 与 min 结合,同时保留整个数据帧[重复]

    这个问题在这里已经有答案了 我想结合 groupby 和 min 但保留整个数据框 如果我使用下面的方法 我最终只会得到 2 列 即 col1 和 col2 对于这个 df col1 col2 col3 1 1 A 1 0 B 2 2 C