如何以Python方式获取numpy argwhere函数的最大值

2024-03-17

我想使用 numpy argwhere 来查找数据中的最大值在哪里。下面是一个示例集,描述了我正在做的事情:

bins = np.arange(10)
data = np.array([[6],[4],[8],[5]])
np.argwhere(bins<data)

array([[0, 0],
       [0, 1],
       [0, 2],
       [0, 3],
       [0, 4],
       [0, 5],
       [1, 0],
       [1, 1],
       [1, 2],
       [1, 3],
       [2, 0],
       [2, 1],
       [2, 2],
       [2, 3],
       [2, 4],
       [2, 5],
       [2, 6],
       [2, 7],
       [3, 0],
       [3, 1],
       [3, 2],
       [3, 3],
       [3, 4]])

我想从这个数据中得到的是

array([[0,5],
       [1,3],
       [2,7],
       [3,4]])

这可以通过 for 循环来完成,但我想知道是否有更 Pythonic 的方法来做到这一点。

EDIT:

我现在所做的是使用 Pandas 和 groupby。我仍然想知道这是否是最好的方法。

t = pd.DataFrame(np.argwhere(bins<data))
time = t.groupby(0)
time.max()

   1
0   
0  5
1  3
2  7
3  4

现在我有了这个,我有一个新问题。假设我有另一组数据:

BigData = np.array([[0,1,2,3,4,5,6,7,8,9],
                   [0,1,2,3,4,5,6,7,8,9],
                   [0,1,2,3,4,5,6,7,8,9],
                   [0,1,2,3,4,5,6,7,8,9]])

我如何使用我获得的数组

array([[0,5],
       [1,3],
       [2,7],
       [3,4]])

放入此新数据以获得第二列中索引的 BigData 平均值。 IE

(0+1+2+3+4) / 5
(0+1+2) / 3
(0+1+2+3+4+5+6) / 7
(0+1+2+3) / 4

将是 BigData 的返回值,假设我们获得了第二列中发生这种情况的索引值。


这是一个相当短但速度也相当快的 Numpy 解决方案:

A = np.argwhere(bins<data)
print A[np.r_[A[1:,0] != A[:-1,0], True]]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何以Python方式获取numpy argwhere函数的最大值 的相关文章

  • 使用 python 进行串行数据记录

    Intro 我需要编写一个小程序来实时读取串行数据并将其写入文本文件 我在读取数据方面取得了一些进展 但尚未成功地将这些信息存储在新文件中 这是我的代码 from future import print function import se
  • python future 和元组解包

    实现像使用 future 进行元组解包这样的事情的优雅 惯用的方法是什么 我有这样的代码 a b c f x y g a b z h y c 我想将其转换为使用期货 理想情况下我想写一些类似的东西 a b c ex submit f x y
  • 如何在序列化器创建方法中获取 URL Id?

    我有以下网址 url r member P
  • pydev 调试器:严重警告:此版本的 python 似乎编译不正确(内部生成的文件名不是绝对的)[重复]

    这个问题在这里已经有答案了 通过运行 from sklearn datasets import fetch california housing import pandas as pd pd set option precision 4 m
  • python 模拟第三方模块

    我正在尝试测试一些处理推文的类 我使用 Sixohsix twitter 来处理 Twitter API 我有一个类充当 Twitter 类的外观 我的想法是模拟实际的 Sixohsix 类 通过随机生成新推文或从数据库检索它们来模拟推文的
  • Python逻辑运算符优先级[重复]

    这个问题在这里已经有答案了 哪个运算符优先4 gt 5 or 3 lt 4 and 9 gt 8 这会被评估为真还是假 我知道该声明3 gt 4 or 2 lt 3 and 9 gt 10 显然应该评估为 false 但我不太确定 pyth
  • 通过列表理解压平列表列表

    我正在尝试使用 python 中的列表理解来展平列表 我的清单有点像 1 2 3 4 5 6 7 8 只是为了打印这个列表列表中的单个项目 我编写了这个函数 def flat listoflist for item in listoflis
  • 将数据帧行转换为字典

    我有像下面的示例数据这样的数据帧 我正在尝试将数据帧中的一行转换为类似于下面所需输出的字典 但是当我使用 to dict 时 我得到了索引和列值 有谁知道如何将行转换为像所需输出那样的字典 任何提示都非常感激 Sample data pri
  • Django 模型在模板中不可迭代

    我试图迭代模型以获取列表中的第一个图像 但它给了我错误 即模型不可迭代 以下是我的模型和模板的代码 我只需要获取与单个产品相关的列表中的第一个图像 模型 py class Product models Model title models
  • Argparse nargs="+" 正在吃位置参数

    这是我的解析器配置的一小部分 parser add argument infile help The file to be imported type argparse FileType r default sys stdin parser
  • 为什么Python的curses中escape键有延迟?

    In the Python curses module I have observed that there is a roughly 1 second delay between pressing the esc key and getc
  • 对图像块进行多重处理

    我有一个函数必须循环遍历图像的各个像素并计算一些几何形状 此函数需要很长时间才能运行 在 24 兆像素图像上大约需要 5 小时 但似乎应该很容易在多个内核上并行运行 然而 我一生都找不到一个有据可查 解释充分的例子来使用 Multiproc
  • 使用鼻子获取设置中当前测试的名称

    我目前正在使用鼻子编写一些功能测试 我正在测试的库操作目录结构 为了获得可重现的结果 我存储了一个测试目录结构的模板 并在执行测试之前创建该模板的副本 我在测试中执行此操作 setup功能 这确保了我在测试开始时始终具有明确定义的状态 现在
  • 如何解决使用 Spark 从 S3 重新分区大量数据时从内存中逐出缓存的表分区元数据的问题?

    在尝试从 S3 重新分区数据帧时 我收到一个一般错误 Caused by org apache spark SparkException Job aborted due to stage failure Task 33 in stage 1
  • 奇怪的 MySQL Python mod_wsgi 无法连接到 'localhost' (49) 上的 MySQL 服务器问题

    StackOverflow上也有类似的问题 但我还没有发现完全相同的情况 这是在使用 MySQL 的 OS X Leopard 机器上 一些起始信息 MySQL Server version 5 1 30 Apache 2 2 13 Uni
  • 将 matplotlib 颜色图集中在特定值上

    我正在使用 matplotlib 颜色图 seismic 绘制绘图 并且希望白色以 0 为中心 当我在不进行任何更改的情况下运行脚本时 白色从 0 下降到 10 我尝试设置 vmin 50 vmax 50 但在这种情况下我完全失去了白色 关
  • mac osx 10.8 上的初学者 python

    我正在学习编程 并且一直在使用 Ruby 和 ROR 但我觉得我更喜欢 Python 语言来学习编程 虽然我看到了 Ruby 和 Rails 的优点 但我觉得我需要一种更容易学习编程概念的语言 因此是 Python 但是 我似乎找不到适用于
  • 在Python中按属性获取对象列表中的索引

    我有具有属性 id 的对象列表 我想找到具有特定 id 的对象的索引 我写了这样的东西 index 1 for i in range len my list if my list i id specific id index i break
  • 字典和数组作为类变量与实例变量

    这是赚取积分的简单方法 请解释以下内容 class C a b 0 c def init self self x def d self k v self x k v self a k v self b v self c append v d
  • 从 Twitter API 2.0 获取 user.fields 时出现问题

    我想从 Twitter API 2 0 端点加载推文 并尝试获取标准字段 作者 文本 和一些扩展字段 尤其是 用户 字段 端点和参数的定义工作没有错误 在生成的 json 中 我只找到标准字段 但没有找到所需的 user fields 用户

随机推荐

  • JavaScript 中的基本正则表达式

    一段时间以来 我一直在尝试理解 JavaScript 中的正则表达式 但它非常复杂 您可以告诉我如何使用正则表达式分别兑换下面 URL 中的每个值 URL first middle last Return var first first v
  • 设计..首次登录后应要求更改密码

    我在我的应用程序中使用设备作为身份验证 我需要在设备中实现功能 首次登录后 用户应要求更改密码 我尝试通过模型 after create update pass change def update pass change self pass
  • 如何强制 Eclipse 请求默认工作空间?

    我注意到安装 cdt 后 Eclipse 总是加载默认工作区 中列出的工作区config ini in osgi instance area default 无论是否打开 Eclipse 都不会询问要打开哪个工作区Prompt for wo
  • 以随机顺序打印数组[重复]

    这个问题在这里已经有答案了 如何在java中以随机顺序打印数组 例子 int myArray 5 4 3 2 1 打印时 结果可能是 3 2 1 4 5 or 4 3 2 5 1 你应该看看写一个费舍尔 耶茨洗牌 http en wikip
  • 不支持的授权类型 Salesforce OAUTH2

    我正在使用 VBA 在 Salesforce 中获得授权 然后最终想要运行 Salesforce 报告并将结果转储到 Excel 中 我已编写以下内容来处理授权 但收到 unsupported grant type 错误 到目前为止我的代码
  • 批处理文件执行文件夹中的所有.exe

    我需要创建一个批处理脚本来运行文件夹中的所有 exe 文件 这必须包括子文件夹 我运行的是Windows 7 批处理文件存储在根文件夹中 我尝试了几种变体但没有成功 两个主要变化如下 REM dir exe S B gt tmpFile R
  • 安卓中的adb是什么?

    当我尝试运行 Android 程序时 出现以下错误 请解释一下到底是什么adb是的 如何重新启动呢 我收到以下错误 The connection to adb is down and a severe error has occured Y
  • 为什么 Android 上的 onCallStateChanged() 在一次调用中会被多次调用?

    我想实现一个像防火墙一样阻止呼叫的应用程序 当我调试我的应用程序时 我发现当有电话进来时 onCallStateChanged 界面中的函数电话状态监听器被调用 3 次 因此 阻止一个调用可能会导致三个日志 我很困惑 my code Ove
  • PLSQL 触发器通过 SQL 加载器触发

    当我们通过 SQL 加载器插入时 表会被触发吗 请详细解释一下 Oracle 将执行INSERT如果使用常规负载则触发 但是当你使用直接负载时不是 http docs oracle com cd E11882 01 server 112 e
  • 确定 django 中的属性是否为“DeferredAttribute”

    上下文 我在 Django Cache Machine 中发现了一个相当严重的错误 导致其失效逻辑在从 Django 1 4 升级到 1 7 后失去理智 该错误仅限于调用only 在扩展缓存机器的模型上CachingMixin 它会导致深度
  • 如何剪切csv的列

    我有一组 csv 文件 大约 250 个 每个文件有 300 到 500 条记录 我需要从每个文件中剪切 2 或 3 列并将其存储到另一个文件中 我在用着操作系统 有什么办法可以在命令或实用程序中做到这一点吗 如果您知道字段内没有出现列分隔
  • 使用 1xx 响应通过 HTTP 报告进度

    问题 通过 HTTP 提供进度信息 我正在编写一个应用程序 我想为长时间运行的请求提供进度信息 我希望客户端能够报告进度 例如完成百分比 并向用户发送消息 HTTP 1xx 响应 我的目的是在最终 HTTP 响应之前使用 HTTP 1xx
  • 如何在 Gnome 终端中对 Python 错误的输出进行着色?

    注意 我在研究如何实际做到这一点后提出这个问题 其他有点相似但实际上与我的问题不同的问题涉及 颜色编码withinpython脚本 导入颜色库within剧本 使用类似的工具Solarized改进工具 例如Vim对 python 代码进行颜
  • Python unittest:如何临时将标准输出消息重定向到缓冲区并测试其内容?

    我想捕获发送到的消息stdout our stderr 在测试期间暂时断言这些消息中是否出现某些字符串模式 import unittest class SomeTest unittest TestCase def test stdout s
  • Tomcat 6 堆大小 - 这是正确的吗?

    我在 Red Hat 机器上运行多个 tomcat 我想为每个 tomcat 配置单独的堆大小 某些实例使用更多内存 我可以在 catalina sh 文件中输入以下内容来设置堆大小最小 最大 bt CATALINA OPTS Xms64m
  • WPF 将控件可见性绑定到另一个控件的聚焦属性

    我有一个显示项目列表的组合框 我想在它旁边放置一个按钮来触发命令以查看所选项目的详细信息 到目前为止 一切都很好 现在我希望该按钮仅在组合框具有焦点时才可见 或处于 编辑 模式 但不仅在弹出窗口打开时 我想我可以将按钮的可见性绑定到组合框的
  • 命令“git checkout”的含义。 [复制]

    这个问题在这里已经有答案了 虽然我知道标题中的命令类似于撤消对当前存储库的更改 但我无法理解它的实际工作原理或如何读取该命令 任何线索都会有很大的帮助 git 结账
  • Python 中的参数解析(必需与可选)

    我目前正在编写一个能够采用多个标志的脚本 我希望它无论最后一个参数是什么都应该是 start stop status usr bin env python from argparse import ArgumentParser def ar
  • Oracle 11g - FOR 循环仅将工作日插入表中?

    我想将一些数据插入与明年日期相关的表中 实际上我只需要插入工作日 BEGIN FOR i IN 1 365 LOOP INSERT INTO MY TABLE ID MY DATE VALUES i to date sysdate DD M
  • 如何以Python方式获取numpy argwhere函数的最大值

    我想使用 numpy argwhere 来查找数据中的最大值在哪里 下面是一个示例集 描述了我正在做的事情 bins np arange 10 data np array 6 4 8 5 np argwhere bins