如何根据 pandas 中另一行的值组合一行中的值

2023-11-30

我有一个带有几列的 pandas 数据框(单词、开始时间、停止时间、扬声器)。我想合并“word”列中的所有值,而“speaker”列中的值不变。此外,我想保留组合中第一个单词的“开始”值和最后一个单词的“停止”值。

我目前有:

      word        start  stop      speaker
0      but   2.72  2.85        2
1   that's   2.85  3.09        2
2  alright   3.09  3.47        2
3    we'll   8.43  8.69        1
4     have   8.69  8.97        1
5       to   8.97  9.07        1
6     okay   9.19 10.01        2
7     sure  10.02 11.01        2
8    what?  11.02 12.00        1

但是,我想把它变成:

       word        start start speaker
0  but that's alright  2.72  3.47  2
1       we'll have to  8.43  9.07  1
2           okay sure  9.19 11.01  2
3               what? 11.02 12.00  1

我们将使用GroupBy.agg使用 aggfuncs 字典:

(df.groupby('speaker', as_index=False, sort=False)
   .agg({'word': ' '.join, 'start': 'min', 'stop': 'max',}))

   speaker                word  start  stop
0        2  but that's alright   2.72  3.47
1        1       we'll have to   8.43  9.07

要按连续出现的情况进行分组,请使用移位 cumsum 技巧,然后将其与“speaker”一起用作第二个分组:

gp1 = df['speaker'].ne(df['speaker'].shift()).cumsum()

(df.groupby(['speaker', gp1], as_index=False, sort=False)
   .agg({'word': ' '.join, 'start': 'min', 'stop': 'max',}))

   speaker                word  start   stop
0        2  but that's alright   2.72   3.47
1        1       we'll have to   8.43   9.07
2        2           okay sure   9.19  11.01
3        1               what?  11.02  12.00
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何根据 pandas 中另一行的值组合一行中的值 的相关文章

随机推荐

  • 查找用户是否正在通话?

    我想查看用户是否正在使用该应用程序以及他们是否正在打电话 我正在点击此链接来检查用户是否正在通话 iOS 如何检查当前是否正在通话 然而 这看起来像是针对 Objective C 的 我想知道是否有一个 Swift 等价的东西 这是我的尝试
  • ng-click 不适用于 ng-bind-html

    我有这样的 html 模板 scope template span class pointer i class icon refresh pointer i span 我想使用绑定这个模板ng bind html 我尝试使用它 也使用过ng
  • Django JQuery 自动完成

    我正在尝试向我的表单添加自动完成字段 但我无法去上班 我几乎尝试了所有教程 请求发送正常 我收到 200 响应 在开发人员工具窗格中 当我单击请求时 在 响应 选项卡上我会看到整个 HTML 文件 不应该有一个 json 格式的东西吗 这是
  • System.out.println 错误 新程序员

    我正在尝试执行一个简单的输入程序 但出现错误System out println命令 我不知道为什么它不接受该命令并且在我修复它之前无法继续工作 错误说 Multiple markers at this line Syntax error
  • Populate() 引用嵌套在对象数组中

    我正在尝试使用 Show 模型中的数据填充 我的 User 模型中的所有订阅 我尝试过 populate subscriptions show 但它对结果没有任何作用 如果我将订阅设为一个简单的参考数组 如下所示 subscriptions
  • htaccess 只接受来自特定 http_referer 的流量

    我正在尝试设置一个 htaccess 文件来完成以下任务 仅当查看用户来自特定域时才允许查看我的网站 链接 那么 举例来说 我有一个名为 保护 mydomain com 我只希望来自 unprotected mydomain com 上的链
  • 使用 mbox Python 模块解码并访问 mbox 文件

    我需要将电子邮件数据库迁移到 CRM 但有两个问题 我可以访问 mbox 文件 但内容未正确解码 我想创建一个类似数据框的结构 其中包含以下列 日期 发件人 收件人 主题 正文 我已经尝试过以下方法 for i message in enu
  • Java 中整数到字节的转换

    在Java中我们可以做 byte b 5 但是为什么我们不能将相同的参数传递给接受的函数byte myObject testByte 5 public void testByte byte b System out println Its
  • RESTEasy - 动态添加资源类

    通过 RESTEasy 我实现了 Application 的子类来提供单例资源列表 有没有办法稍后动态添加另一个单例 我还没有从 API 文档中找到实现这一点的方法 我自己没有尝试过 但我找到了一篇博客文章 其中描述了这一点 http sa
  • 在 fltk 窗口内绘制 gnuplot 图形

    我正在编写一个程序 它使用用 fltk 打开的窗口绘制 3D 对象 虽然我真的想在同一个窗口 除了 3D 对象 中添加一些 gnuplot 的图形 因为它们比 OpenGl 的图形更漂亮 那可能吗 我正在致力于模拟对象的运动并用 OpenG
  • 通过进程名称取消隐藏进程?

    前段时间我写了一段代码来隐藏 恢复进程窗口 我所做的是这样的 隐藏进程 1 在正在运行的进程中查找进程名 2 将 MainWindowHandle 添加到容器 在本例中为字典 这对于稍后取消隐藏该进程是必要的 3 使用ShowWindow
  • 如何获取视频的最后一帧?

    我想要视频的最后一帧 我的代码如下所示 let asset AVURLAsset AVURLAsset URL videoURL options nil let generate AVAssetImageGenerator AVAssetI
  • 如果文件已经打开,fopen 是否返回 NULL 指针?

    我当时假设fopen回报NULL指针 如果文件已打开 但看起来fopen不返回NULL如果文件已在以下位置打开 w 模式 下面是我用来尝试此操作的代码 但没有收到任何错误 我尝试使用 mingw32 以及 TDM GCC 64 编译器 如果
  • MVC2:是否有用于原始 Html 的 Html Helper?

    是否有一个 Html 助手可以简单地接受并返回原始 html 而不是做这样丑陋的事情 h2 Results h2 我想做这样的事情 虽然不是很干净 但我认为这是一个进步 存在这样的东西吗 或者是否有比使用 Html 助手更好的替代方法来从这
  • Mysql问题:没有mysql.sock

    昨天我正在使用安装在我的计算机上的 MySQL 进行工作 我下载了xampp 所以我改变了my cnf文件到套接字的路径 opt lampp var mysql mysql sock 该文件就在那里 今天我想继续处理它 我发现该文件不再存在
  • 选择所有行及其在单个查询中的计数

    我有一些名为 items 的表 想要从中获取一些行并在单个查询中计数 全部 现在我正在尝试这样的操作 SELECT COUNT as count SELECT FROM items WHERE as items FROM items 但我得
  • NSDictionary 对象中的非字符串键?

    我已经使用 Foundation 框架中的 NSJSONSerialization 解析了一些 JSON 数据 但是 我得到了 NSDictionary 组的奇怪密钥 如下所示 stop times departure time 5 48a
  • 为什么 SymGetSymFromAddr64 不工作?它返回错误代码 126

    我正在尝试使用以下代码捕获异常的堆栈跟踪 include stdafx h include
  • nls——收敛误差

    对于这个数据集 dat structure list x c 5L 5L 5L 5L 10L 10L 10L 10L 15L 15L 15L 15L 17L 17L 17L 17L 20L 20L 20L 20L 20L 20L 20L 2
  • 如何根据 pandas 中另一行的值组合一行中的值

    我有一个带有几列的 pandas 数据框 单词 开始时间 停止时间 扬声器 我想合并 word 列中的所有值 而 speaker 列中的值不变 此外 我想保留组合中第一个单词的 开始 值和最后一个单词的 停止 值 我目前有 word sta