Pandas 报告分组和枢轴中的前 n 名

2024-01-01

我试图通过沿单个维度 d1 分组并报告 d1 的每个元素的摘要统计信息来总结数据框。我特别对许多指标的前 n 个(索引和值)感兴趣。 我想为 d1 的每个元素生成一行。

假设我有两个维度 d1、d2 和 4 个指标 m1、m2、m3、m4

1) 对于每个指标 m1 - m4,按 d1 分组并查找顶部 n d2 和指标值的建议方式是什么。

在 Wes 的书《Python for Data Analysis》中他建议(第 35 页)

def get_top1000(group):
 return group.sort_index(by='births', ascending=False)[:1000]
grouped = names.groupby(['year', 'sex'])
top1000 = grouped.apply(get_top1000)

这仍然是推荐的方式吗(我只对 1000 个中的前 5 个 d2 以及多个指标感兴趣) 2)现在下一个问题是我想旋转前 5 个元素(即 d1 的每个元素都有一行)

因此对于维度 d1、d2 和公制 m1,结果数据框应如下所示: 索引 d1 以及 d2 的前 5 个值和 m1 的对应值的列

d1 d2-1 d2-2 d2-3 d2-4 d2-5 m1-1 m1-2 m1-3 m1-4 m1-5

....

因此,要进行旋转,我必须沿着 d2 创建排名(即 1 到 5 - 这是我的列字段)。如果我总是有 5 个条目,但对于给定的 d1 值,偶尔 d2 的元素少于 5 个,这会很容易。

那么有人可以建议如何将排名添加到分组中,以便我有正确的列索引来执行旋转


我没有任何可使用的玩具数据或可比较的预期结果,但我认为您需要以下内容:

N = 1000
names = my_fake_data_loader()
grouped = names.groupby(['year', 'sex'])
grouped.apply(lambda g: g.sort_index(by='births', ascending=False).head(N))

这将给出每组的前 1000 个元素。

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

Pandas 报告分组和枢轴中的前 n 名 的相关文章

随机推荐

  • git 重新连接到远程存储库

    我犯了一个巨大的错误 导致我的项目的本地版本不再与其曾经关联的远程存储库连接 是否有一些技巧可以重新建立连接 关联而不破坏代码的本地版本 你试过了吗 git remote add track master origin url to git
  • Linux 下双显示器设置上的 SDL 假全屏模式

    使用SDL 1 3我想在linux下创建假全屏SDL Window 如果我只有一台显示器 这很容易 我刚刚获得当前显示模式并创建了一个窗口 SDL GetDesktopDisplayMode 0 mode SDL Window win SD
  • Java 有 uudecoding 的标准机制吗?

    我正在编写一个 Java 程序来从 POP3 电子邮件下载附件 最初 如果内容类型经过验证 我会通过获取 MimePart 的输入流来实现此目的 然后我可以简单地通过 FileOutputStream 将输入流写入本地文件 然而 我遇到的一
  • 使用 JSTL 循环遍历 Map [重复]

    这个问题在这里已经有答案了 我正在寻找 JSTL 循环Map
  • 如何在 Firebase 中按应用版本阻止用户

    我有一个 Android 应用程序 它使用 Firebase 作为一般聊天室 用户输入昵称并开始聊天 实施没有问题 我的应用程序运行良好 但问题在于数据使用 由于实施错误 数据使用率过高 在应用程序版本 14 中 我正在获取聊天室中的所有数
  • 如果双引号字符串以转义反斜杠结尾,则词法分析器规则会保持匹配字符,就好像它们是带引号字符串的一部分一样

    如果双引号字符串以转义的反斜杠结尾 则词法分析器规则会变得贪婪并保持匹配字符 就好像它们是带引号的字符串的一部分一样 然后词法分析器认为实际开始下一个带引号的字符串的双引号正在结束第一个字符串 并在后面的字符上给出语法错误 我们需要调整词法
  • 检查用户是否更改了 Android 中的生物识别/指纹

    我正在寻找一种在用户更改指纹时收到通知的方法 我看到了这个答案here https stackoverflow com questions 44515668 android fingerprint detect new finger add
  • 包括实体框架 TPH 类的导航属性

    我有一个 EF 层次结构 大大简化 如下所示 class Room EntityCollection
  • 无锁队列实现最终会在压力下产生循环

    我有用 C 语言编写的无锁队列 其形式为链表 其中包含来自多个线程的请求 这些请求发布到单个线程并在单个线程中处理 经过几个小时的压力后 我最终让最后一个请求的下一个指针指向自身 这创建了一个无限循环并锁定了处理线程 该应用程序在 Linu
  • 如何让 rmagick 在带有 Rails 3.1 和 Carrierwave 的 Windows 7 64 位上工作?

    我无法让 rmagick 在 Windows 上工作 有谁知道如何让它正常工作 更好的是 希望以一种与生产环境兼容的方式 尽管我会尽我所能 C gt gem install rmagick platform ruby with opt li
  • 为什么Eclipse无法写入资源

    Eclipse 无法签署我的应用程序 但旧版本工作正常 它只是在下面显示警告 这是 juno 版本中的错误吗 无法写入资源 META INF MANIFEST MF 重复的 zip 条目 ARMPlugin jar META INF MAN
  • CAS 冲突的 CPU 内部特征是什么?

    我正在尝试了解 x86 x64 上 CAS 的低级机制 我非常感谢一些帮助 见解 我一直在思考这个问题的原因是我试图推理指数退避 并原则上找出正确的退避延迟单位应该是什么 如果我查看无锁空闲列表基准测试 没有指数退避 我会发现随着线程数量的
  • DataTables 根据 TD 属性值对 html 表进行排序

    我正在使用 DataTables jquery 库来显示简单的 HTML 表标记 即不使用 Ajax 或 JSON 一切都运行良好 只是我有一些列我想对原始数据进行排序 而不是对显示的格式化数据进行排序 我想向我的 TD 标签添加一个属性
  • OAuth 2.0授权码Grant中“code”的生命周期

    授权代码授予 我知道该代码是与真正的长期访问令牌交换的短期令牌 我已经经历了认证2 0 https www rfc editor org rfc rfc6749 section 4 1 1但找不到此信息 所以在这里询问 代码的生命周期是怎样
  • 从会话到成员文件夹的身份验证

    我之前在 c asp net webforms 中设置了成员文件夹 仅允许某些用户并在用户未经身份验证时进行重定向 我想知道这是否可能 如何根据会话变量存在 填充值 的天气来实现身份验证 或者如果会话为空则不进行身份验证 我希望类似的事情能
  • 使依赖对象属性可绑定为静态资源?

    如何使依赖对象属性数组可绑定以便以后绑定为静态资源 我现在拥有的代码似乎是我的DependencyObject绕过依赖属性系统 我有以下课程 public class ValueMarker DependencyObject public
  • '+' 已弃用:混合类型加法在 Swift 3.1 中已弃用

    当我直接将整数值 即 1 2 3等 与另一个整数变量相加时 let arr Array One Two var valueT Int64 0 value arr count 1 in this line 我收到以下警告 is depreca
  • 如何使用 APNs Auth Key 和标准 CLI 工具发送 APNs 推送消息?

    Apple 最近向 APNS 添加了一种新的身份验证方法 Apple 推送通知身份验证密钥 沙盒和生产 https stackoverflow com questions 39671902 apple push notification a
  • rstudio 0.98.501 中 knit html 按钮背后的代码是什么?

    我听从了 Rstudio 的建议自定义 Markdown 渲染 https www rstudio com ide docs authoring markdown custom rendering 并在项目目录的根目录下创建了一个 Rpro
  • Pandas 报告分组和枢轴中的前 n 名

    我试图通过沿单个维度 d1 分组并报告 d1 的每个元素的摘要统计信息来总结数据框 我特别对许多指标的前 n 个 索引和值 感兴趣 我想为 d1 的每个元素生成一行 假设我有两个维度 d1 d2 和 4 个指标 m1 m2 m3 m4 1