按单列的分位数对 pandas 数据框进行分组

2024-02-07

抱歉,如果这是重复的帖子 - 但我找不到相关的帖子

from random import seed
seed(100)
P = pd.DataFrame(np.random.randint(0, 100, size=(1000, 2)), columns=list('AB'))

我想要的是分组P按列的四分位数/分位数/十分位数/等A然后计算聚合统计量(例如mean)按组。我可以将列的十分位数定义为

P['A'].quantile(np.arange(10) / 10)

我不知道如何按十分位数分组A。提前致谢!


如果你想组团的话P例如按四分位数,运行:

gr = P.groupby(pd.qcut(P.A, 4, labels=False))

然后您可以对这些组执行任何操作。

为了演示,下面有一个打印输出P仅限于 20 行:

for key, grp in gr:
    print(f'\nGroup: {key}\n{grp}')

这使:

Group: 0
     A   B
0    8  24
3   10  94
10   9  93
15   4  91
17   7  49

Group: 1
     A   B
7   34  24
8   15  60
12  27   4
13  31   1
14  13  83

Group: 2
     A   B
4   52  98
5   53  66
9   58  16
16  59  67
18  47  65

Group: 3
     A   B
1   67  87
2   79  48
6   98  14
11  86   2
19  61  14

如您所见,每个组(四分位数)有 5 个成员,因此分组为 正确的。

作为补充

如果您有兴趣borders对于每个四分位数,运行:

pd.qcut(P.A, 4, labels=False, retbins=True)[1]

Then cut返回 2 个结果(一个元组)。第一个元素(数字 0)是 之前返回的结果,但这次我们感兴趣的是second元素(数字 1)- bin 边框。

对于您的数据,它们是:

array([ 4.  , 12.25, 40.5 , 59.5 , 98.  ])

所以例如第一个四分位数介于4 and 12.35.

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

按单列的分位数对 pandas 数据框进行分组 的相关文章

随机推荐

  • android-support-v4 删除未使用的类

    实际上 我正在尝试将应用程序的 apk 缩小到尽可能小的大小 我目前导入了 android support v4 jar 文件 我的问题是 如何从此 jar 文件中删除未使用的类 经过一番搜索后没有找到任何信息 如果 ProGuard 是解
  • 如何使用 Salt 创建 SHA256 哈希?

    我目前正在开发一个 Visual Studio C Windows 窗体项目 但是 我对 SHA256 salted 的工作原理感到困惑 我在网上找到了一些例子 但无法理解如何调用这个函数 我想在连接到数据库 Microsoft Acces
  • 如何在 ag-grid 表的页脚中启用或显示总行数

    我正在使用 Ag Grid 表 我想在表的页脚中显示总行 我如何通过使用 2 个表来实现它 第 1 个表用于实际数据 第 2 个表用于总计行 它与普通的不可滚动表格一起工作正常 但如果它是固定或可滚动表格 则顶部表格会滚动 但底部表格会粘在
  • 在 HashMap 或 LinkedList 中将嵌套类设为静态的原因是什么? [复制]

    这个问题在这里已经有答案了 在大多数情况下 我看到嵌套类是static 让我们举个例子Entry上课于HashMap static class Entry
  • Protractor browser.wait 不等待

    我假设 browser wait 应该是一个阻塞调用 但它没有按我的预期工作 这是我的样本 describe browser wait function beforeEach function browser wait function c
  • 问题:使用 Windows 7,运行我的应用程序时出现未经授权的访问异常

    我的应用程序引发未经授权的访问错误 运行我的应用程序时 我尝试访问以下位置的目录 Application UserAppDataPath 问题 它说我无权访问 Application UserAppDataPath 目录 有没有办法在我的应
  • pyqtgraph:同步不同图中轴的缩放

    我想同步几个 pyqtgraph 图的 X 轴 当用户通过鼠标交互重新缩放 X 轴时 例如 鼠标在 x 轴上时滚动滚轮 我想将相同的更改分配给所有其他绘图 那么我该怎么做呢 我从下面的基本示例中导出了最小化代码 我是否必须覆盖viewRan
  • 在 html 表 中将单行加粗 [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我使用以下
  • 来自 iOS 的 Instagram 签名 API 调用

    对 Instagram 帖子方法进行签名 API 调用以关注用户 点赞用户的图像等 用户每小时的关注次数限制为 20 次 但如果我们进行签名 API 调用 那么用户每小时可以进行 60 次关注 但我的问题是如何进行签名 API 调用 我尝试
  • 限制 Apigility 中的结果

    我使用 Apigility 创建了一个代码连接 API 现在我正在使用标准创建存根 在我的PostResource有一种方法叫做fetchAll params array 我为该方法创建了代码 以便它返回一组可分页的结果 var Hydra
  • 在 MySQL 中查找同一个表中的重复项

    我有一个包含两列的表 艺术家 release id 我可以运行什么查询来显示重复记录 例如我的桌子是 ArtistX 45677 ArtistY 378798 ArtistX 45677 ArtistZ 123456 ArtistY 888
  • 显示ajax、Jquery返回的响应的html代码

    我有一个 jquery AJAX 函数 它检索一些 HTML 标记并将其显示在页面上 我还想显示返回的 HTML 的 html 代码 我四处寻找解决方案 但没有找到任何解决方案 有人可以帮忙吗 非常感谢 post get news php
  • 4x4 矩阵预乘和后乘

    我有以下功能 void Matrix Scale const float xScale const float yScale const float zScale Matrix scaleMatrix scaleMatrix m data
  • 如何查明某个函数被 javascript/jquery 调用了多少次?

    也许是一个奇怪的问题 但事实是 我有一个定期调用的函数 在该函数中我需要知道我处于哪个迭代中 或者该函数被调用了多少次 问题的简化版本 jQuery document ready function setInterval myFunctio
  • 有没有办法让 HTML5 数据列表使用模糊搜索?

    我有一组数据列表选项 我想在搜索时进行模糊匹配 例如 如果我输入 PHP HTML 或 PHPAndHTML 我希望其中任何一个与 PHP And HTML 选项匹配 有什么办法可以做到这一点吗 请参见这把小提琴 https jsfiddl
  • JavaScript + MVC + 用户界面

    我正在寻找新的 JavaScript 编程方法 我的目标是创建像 GMail 这样的 JavaScript 应用程序 我尝试过 GWT 但它看起来很复杂 而且代码也不时尚 我发现 MVC 模式是一种很好的编程方式 我总是在用 javascr
  • JavaFX 可重用 FXML 片段

    我正在实现一个选项卡式部分 其中每个选项卡将包含一个表视图 在此表视图中 无论选择哪个选项卡 都会呈现一个列子集 但某些选项卡将包含其他列 以编程方式处理 由于这些原因 每个选项卡都需要有一个单独的控制器 但我想知道是否可以在每个选项卡中重
  • 将 __m256 的奇数元素提取到 __m128 的有效(在 Ryzen 上)方法?

    是否有一种内在的或其他有效的方法将 AVX 寄存器的 64 位组件的高 低 32 位组件重新打包到 SSE 寄存器中 使用 AVX2 的解决方案就可以了 到目前为止 我正在使用以下代码 但探查器说它速度很慢锐龙 1800X Global c
  • Apache Aries Managed JPA 支持哪些 JPA 提供程序?

    显然是 OpenJPA 我也看到提到过 EclipseLink 和 Hibernate 但是功能上有显着差异吗 大多数差异来自于提供商对 OSGi 的感知程度 例如 您可能需要自己将 Hibernate jar 包装为 OSGi 捆绑包 或
  • 按单列的分位数对 pandas 数据框进行分组

    抱歉 如果这是重复的帖子 但我找不到相关的帖子 from random import seed seed 100 P pd DataFrame np random randint 0 100 size 1000 2 columns list