有没有办法获得 dask 中每组最大的项目?

2023-12-25

我有以下数据集:

location  category    percent
A         5           100.0
B         3           100.0
C         2            50.0
          4            13.0
D         2            75.0
          3            59.0
          4            13.0
          5             4.0

我正在尝试获取数据框中按位置分组的最大类别项目。即,如果我想要每组的前 2 个最大百分比,则输出应该是:

location  category    percent
A         5           100.0
B         3           100.0
C         2            50.0
          4            13.0
D         2            75.0
          3            59.0

看起来在 pandas 中这是相对直接使用的pandas.core.groupby.SeriesGroupBy.nlargest但 dask 没有nlargestgroupby 的函数。一直在玩apply但似乎无法让它正常工作。

df.groupby(['location'].apply(lambda x: x['percent'].nlargest(2)).compute()

但我刚刚收到错误ValueError: Wrong number of items passed 0, placement implies 8


apply 应该可以工作,但是你的语法有点不对:

In [11]: df
Out[11]:
Dask DataFrame Structure:
              Unnamed: 0 location category  percent
npartitions=1
                   int64   object    int64  float64
                     ...      ...      ...      ...
Dask Name: from-delayed, 3 tasks

In [12]: df.groupby("location")["percent"].apply(lambda x: x.nlargest(2), meta=('x', 'f8')).compute()
Out[12]:
location
A         0    100.0
B         1    100.0
C         2     50.0
          3     13.0
D         4     75.0
          5     59.0
Name: x, dtype: float64

在熊猫中你会有.nlargest and .rank作为 groupby 方法,您可以在不应用的情况下执行此操作:

In [21]: df1
Out[21]:
  location  category  percent
0        A         5    100.0
1        B         3    100.0
2        C         2     50.0
3        C         4     13.0
4        D         2     75.0
5        D         3     59.0
6        D         4     13.0
7        D         5      4.0

In [22]: df1.groupby("location")["percent"].nlargest(2)
Out[22]:
location
A         0    100.0
B         1    100.0
C         2     50.0
          3     13.0
D         4     75.0
          5     59.0
Name: percent, dtype: float64

dask 文档说明 http://dask.pydata.org/en/latest/dataframe-overview.html#scope:

Dask.dataframe 涵盖了 pandas API 的一小部分但经常使用的部分。
这种限制有两个原因:

  1. pandas API 非常庞大
  2. 有些操作确实很难并行执行(例如排序)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

有没有办法获得 dask 中每组最大的项目? 的相关文章

随机推荐

  • 如何在 C# 中使网页浏览器控件变为空白?

    最初 当网络浏览器刚刚加载到表单上时 它是空白的 即白色 一旦我们进入某个特定网站 有没有办法让它再次变成空白 我尝试过这些方法 但没有找到一种可以实现这一点的方法 还有其他方法还是我错过了什么 尝试一下 webBrowser1 Navig
  • 使用“”的不可重现的随机数

    我正在尝试创建一个类 为多个分布生成随机数 同时保持它们的可重复性 通过设置初始种子 该代码似乎有效 直到我开始使用正态分布和奇怪的错误表面 这些主要是 如果我取消注释double a rnd rnorm 0 0 1 0 line 第40行
  • 项目模板中的列表视图视觉状态管理器(WinRT、Metro、XAML)

    我正在尝试获取一个列表视图来显示由文本块组成的项目列表 当单击列表视图项目时 我想显示一个由文本框组成的列表 以下是我想出来的 它不起作用 我在模板中有两个网格 希望根据是否选择列表视图项来简单地显示和隐藏网格 我哪里出错了 我从列表视图的
  • Qt 3D 数组与 QVector 等 Qt-Objekts

    如何仅使用 Qt Objects 创建 3D 数组 该数组应该是 3D 整数数组 我尝试在堆上创建一个标准的 3D 数组 在堆上分配内存效果很好 如果我想释放内存 我会遇到错误 const int scalefaktor 16 int an
  • 为什么 IOS5 中不推荐使用 Accelerometer:didAccelerate: ?

    iOS5的发布就有这个核心功能列为已弃用 https developer apple com library prerelease ios documentation UIKit Reference UIAccelerometerDeleg
  • 以编程方式运行散景服务器以在本地浏览器中显示

    我正在进行交互式数据操作bokeh 0 12 6 我将在包中部署的实用程序 这个想法是用户可以运行一些例程module utility 这将启动散景服务器 在浏览器中启动应用程序 当选项卡或浏览器关闭时 服务器将停止 如果我运行 我的应用程
  • 如何在 Pentaho BI 服务器 v6 CE 上部署计划的 Kettle 作业

    我有一台运行 Pentaho BI 服务器 v6 社区版的服务器 我们开发了一项 Kettle 作业 用于从一个数据库提取到另一个数据库 并导出为 KJB 文件 我想每 12 个小时左右运行一次这项工作 我注意到BI服务器已经包含了Kett
  • 如何在没有互联网连接的情况下本地安装 NodeJS 项目?

    我有一个项目 必须将其部署到无法连接到互联网的客户端 Windows 系统 我目前在 D NODE 中有一个文件夹 其中包含 node exe 和 npm cmd 以及一个 node modules 文件夹 为了能够从命令行运行节点 我已将
  • .htaccess 文件的位置

    var www html My project folder 是我的项目的路径 我没有找到 htaccess 文件 我想粘贴我编辑的 htaccess 文件 但我不确定我需要放在哪个位置 我的 htaccess 文件代码是
  • Bash 脚本中的 SSH 搞乱了文件读取 [重复]

    这个问题在这里已经有答案了 我有一个脚本 可以逐行读取文件 并根据读取的内容执行操作 它所做的事情之一是通过 ssh 连接到远程服务器并获取一些信息 由于某种完全超出我能力范围的原因 这会停止从文件中读取行 该脚本本质上是 我已经删除了很多
  • 寻找Python字典中最大的键

    General 我需要帮助在 python 中找到一种方法来获得最大值N多维Python字典中的项目 例如 things car weight 100 apple weight 1 spanner weight 10 在这种情况下 我想找到
  • JavaFX WebView 进度始终从 0.0 到 1.0。 (无中间值)

    我目前正在使用 GluonHQ JavaFXPorts 开发一个应用程序 其中我使用 WebView 加载一些 Internet 页面 我注意到当我在桌面上使用以下代码时 webEngine getLoadWorker progressPr
  • undefined 不是一个对象(评估 'ImagePickerManager.showImagePicker')

    我正在尝试使用react native image picker 但卡在这里 它总是显示错误 如下图所示 undefined 不是一个对象 评估 ImagePickerManager showImagePicker 有人遇到过这个问题吗 我
  • 使用 Python 的函数返回值为 shell 变量赋值

    我有一个 Python 函数 fooPy 它返回一些值 整数 双精度或字符串 我想使用这个值并在 shell 脚本中分配它 例如以下是 python 函数 def fooPy return some string return 10 alt
  • 使用 API 通过 Nodejs 使用 Drive.files.copy 将 Word 文档转换为 Google 文档 在 Google Drive API v3 中进行转换

    我正在尝试通过 Node js 使用 API 将 Word 文档转换为 Google 文档 单词文档已经在一个文件夹中 我只想将它们转换为谷歌文档 我正在使用v3 The v3 docs https developers google co
  • PHP EOF 仅显示循环的一个结果

    我在 PHP 中使用 EOF 问题是它只显示来自 mySQL 循环的一项 它仅显示最后的结果 这在EOF中有必要吗 或者我可以避免这个问题吗 Thanks function getYiBAdminBanner global site glo
  • R try catch 块

    我正在尝试在循环中评估树的多个输出参数 但有时树功能会中止 这些行如何被 try catch 块包围 我很抱歉没有 真正的 代码 但我没有非工作树的示例 这是pseddo代码来说明当前的实现 for icol in seq 1 ncol c
  • 如何从纬度和经度找出地图瓦片坐标?

    我正在使用 Mapbox 矢量切片从后端进程收集特定数据 在示例中 他们提供了曼哈顿图块的链接 http a tiles mapbox com v3 examples map zr0njcqy 14 4823 6160 png http a
  • 如何在管道中使用导管下降功能?

    我有一个简单的任务 从文件中读取一堆行并对每一行执行一些操作 除了第一个 这是一些需要忽略的标题 所以我想我应该尝试一下管道 printFile src runResourceT CB sourceFile src CT decode CT
  • 有没有办法获得 dask 中每组最大的项目?

    我有以下数据集 location category percent A 5 100 0 B 3 100 0 C 2 50 0 4 13 0 D 2 75 0 3 59 0 4 13 0 5 4 0 我正在尝试获取数据框中按位置分组的最大类别