熊猫:分组列出

2023-11-23

我有如下数据:

id  value   time

1   5   2000
1   6   2000
1   7   2000
1   5   2001
2   3   2000
2   3   2001
2   4   2005
2   5   2005
3   3   2000
3   6   2005

我的最终目标是将数据放在如下列表中:

[[5,6,7],[5]] (this is for id 1 grouped by the id and year)
[[3],[3],[4,5]] (this is for id 2 grouped by the id and year)
[[3],[6]] (same logic as above)

我使用以下方法对数据进行了分组df.groupby(['id', 'year'])。但之后,我无法访问这些组并获取上述格式的数据。


您可以使用apply(list):

>>> df.groupby(['id', 'time'])['value'].apply(list)

id  time
1   2000    [5, 6, 7]
    2001          [5]
2   2000          [3]
    2001          [3]
    2005       [4, 5]
3   2000          [3]
    2005          [6]
Name: value, dtype: object

如果您确实希望它的格式与您显示的完全相同,则可以 groupbyid并申请list again,但这效率不高,而且这种格式可能更难使用......

>>> df.groupby(['id','time'])['value'].apply(list).groupby('id').apply(list).tolist()
[[[5, 6, 7], [5]], [[3], [3], [4, 5]], [[3], [6]]]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

熊猫:分组列出 的相关文章

随机推荐

  • 以角度方式将数据从一个组件传递到另一个组件

    我正在开发一个包含搜索功能的应用程序 现在我有 2 个应用程序组件 1 导航栏 2 搜索网格列表 Navbar 组件包含一个文本框 您可以在其中输入搜索查询并按 Enter 键 该组件将进行 api 调用并获取数据 当数据返回时 我想将此数
  • 邮件发送失败。无法将数据写入传输连接

    我正在使用 Gmail SMTP 服务器从 VB Net 发送邮件 尽管它可以正常发送一些电子邮件 但对于其他一些电子邮件 它会返回以下错误 邮件发送失败 无法将数据写入传输连接 System Net Sockets SocketExcep
  • 如何删除 Linq to Entity 中的多条记录? [复制]

    这个问题在这里已经有答案了 我有一个 sql 中的 tblA id int primary key fid int tblA 中的数据是 1 1 2 1 3 2 4 2 5 3 6 3 我删除一条记录通过以下代码 DatabaseEntit
  • 更改 core.autocrlf 后如何强制转换工作树文件?

    我在 Windows 上并且有系统范围core autocrlf true 对于特定的存储库 我已在本地覆盖它false 但这并没有转换签出文件中的行结尾 我怎么做 如果我使用例如手动转换文件dos2unix 它们显示为已更改 也尝试过gi
  • 设置“图像文件执行选项”将始终默认打开指定的 exe 文件

    As 这个链接建议 我要替换Notepad exe with Notepad2 exe using 图像文件执行选项 通过运行命令来实现 reg add HKLM Software Microsoft Windows NT CurrentV
  • 方法 openOrCreateDatabase(String, int, null) 未定义

    我正在尝试按如下方式打开数据库 SQLiteDatabase myDatabase myDatabase openOrCreateDatabase sudoku db Context MODE PRIVATE null 当我在 Servic
  • 在数据库表中动态添加列的设计模式

    用户希望在 UI 中动态添加新字段 这个新字段应该存储在数据库中 并且应该允许他们对其执行 CRUD 现在我可以通过指定 XML 来完成此操作 但我想要一种更好的方法来搜索这些新列 还有开枪的想法ALTER声明并添加新列似乎是错误的 任何人
  • Sharepoint:基于另一个列表的计算列

    我可能正在寻找错误的方法来做到这一点 但我在这里 我有一个 Sharepoint 列表 标题为 行程 其中包含安排到特定区域的行程列表 我有第二个列表 区域 其中包含固定数量的项目 每个项目代表一个特定区域 区域有一个标题为 条件 的列 描
  • Robolectric 启动期间反射出现 NullPointerException - 有任何提示吗?

    我正在 Eclipse 上开发一个 Android 项目 并且我正在尝试从在模拟器 设备上运行测试 即very慢 到机器人电动 我用 Robolectric 替换了 Android 库 将 JUnit 添加到路径中 将测试用例改回常规Tes
  • 使用Java从串口读取文件

    我是Java初学者 我正在写 FLASH getbytes 像这样serialport 之后我会得到FLASH OK作为回应 我必须再次发送文件请求 之后我会得到回复FILE OK然后我已读取文件直至文件末尾 我不知道如何做到这一点 所以请
  • 提高python中重心坐标计算的效率

    背景 我试图将一张脸扭曲成另一张不同形状的脸 为了将一张图像扭曲为另一张图像 我使用了面部标志的 delaunay 三角剖分 并将一幅肖像的三角形扭曲为第二幅肖像的相应三角形 我使用重心坐标系将三角形内的点映射到另一个三角形上相应的扭曲位置
  • 如何将 mingw-w64 和 MSYS2 与 eclipse 或 codeblocks 等 IDE 一起使用?

    我安装 msys2here 我下载i686 5 3 0 release posix dwarf rt v4 rev0 from here 设置后msys2 i686 20160205 exe 提炼i686 5 3 0 release pos
  • 我的 xpage 应用程序的基本 REST 服务

    我想为我的 XPage 应用程序设置一些基本的 REST 服务 因此 我在 xpage 上添加了 xe restService 控件 并选择 xe customRestService 其中我引用了 Java 类
  • 禁用时更改 FAB 背景颜色

    我试图弄清楚如何在按下浮动操作按钮后禁用 2 秒的持续时间时更改浮动操作按钮的背景颜色 我还希望它在 2 秒持续时间结束时恢复到原来的颜色 这是按下时 2 秒延迟的代码 此代码位于 MainActivity 内的一个片段中 appBar s
  • 如何根据 StatefulSets 中的序数索引将参数传递给 pod?

    是否可以根据 Pod 在 StatefulSet 中的序号索引将不同的参数传递给 Pod 在 StatefulSets 文档上没有找到答案 谢谢 推荐方式参见https kubernetes io docs tasks run applic
  • SonarQube 支持 Java 8 吗?

    使用 Java 8 执行gradle sonarRunner显示此错误消息 声纳Qube版本 4 2 1 java lang ArrayIndexOutOfBoundsException 26721 at org objectweb asm
  • 决赛选手有什么用?

    我已经用 NET 编程四年了 主要是 C 并且广泛使用 IDiposable 但我尚未发现需要终结器 决赛选手有什么用 终结器是确保正确清理某些内容的最后一搏 通常为包装对象保留不受管理的资源 例如非托管句柄等不会被垃圾收集 编写终结器确实
  • 设置 Git 远程 SSH (git-upload-pack / git-receive-pack)

    我有一台具有 SSH 访问权限的服务器 我想在那里放置一个 Git 原始存储库 我刚刚在本地创建了一个 bare shared 存储库 并将其复制到每个 SCP 的服务器上 现在我想根据 SSH url 克隆这个存储库 我试过 ssh US
  • PHP 将字符串转换为 slug

    将文本字符串转换为 slug 的最佳方法是什么 意义 允许使用 alpha 转换为小写 允许数字 应消除空格 而不是转换为破折号 重音字符被等效的标准字母替换 不允许使用其他字符 应将其删除 我在网上找到了大量代码 但它们都倾向于将空格转换
  • 熊猫:分组列出

    我有如下数据 id value time 1 5 2000 1 6 2000 1 7 2000 1 5 2001 2 3 2000 2 3 2001 2 4 2005 2 5 2005 3 3 2000 3 6 2005 我的最终目标是将数