查找将两个 Numpy 数组平均划分的值

2023-12-30

我有两个数组(x1 and x2) 具有相同长度且具有重叠的值范围。

我需要找到一个值q这样l1-l2被最小化,并且

l1 = x1[np.where(x1 > q)].shape[0]
l2 = x2[np.where(x2 < q)].shape[0]

我需要它具有相当高性能,因为数组可能很大。使用本机 numpy 例程的解决方案将是首选。


可能有一种更智能的方法来查找值,但您可以按如下方式进行详尽的搜索:

>>> x1 = np.random.rand(10)
>>> x2 = np.random.rand(10)
>>> x1.sort()
>>> x2.sort()
>>> x1
array([ 0.12568451,  0.30256769,  0.33478133,  0.41973331,  0.46493576,
        0.52173197,  0.72289189,  0.72834444,  0.78662283,  0.78796277])
>>> x2
array([ 0.05513774,  0.21567893,  0.29953634,  0.37426842,  0.40000622,
        0.54602497,  0.7225469 ,  0.80116148,  0.82542633,  0.86736597])

我们可以计算l1 if q是其中的一项x1 as:

>>> l1_x1 = len(x1) - np.arange(len(x1)) - 1
>>> l1_x1
array([9, 8, 7, 6, 5, 4, 3, 2, 1, 0])

And l2对于相同的q as:

>>> l2_x1 = np.searchsorted(x1, x2)
>>> l2_x1
array([ 0,  1,  1,  3,  3,  6,  6, 10, 10, 10], dtype=int64)

您可以类似地获取值l1 and l2 when q is in x2:

>>> l2_x2 = np.arange(len(x2))
>>> l2_x2
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
>>> l1_x2 = len(x1) - np.searchsorted(x1, x2, side='right')
>>> l1_x2
array([10,  9,  9,  7,  7,  4,  4,  0,  0,  0], dtype=int64)

然后你只需检查最小值l1 - l2:

>>> np.concatenate((l1_x1 - l2_x1, l1_x2 - l2_x2))
array([  9,   7,   6,   3,   2,  -2,  -3,  -8,  -9, -10,  10,   8,   7,
         4,   3,  -1,  -2,  -7,  -8,  -9], dtype=int64)
>>> q_idx = np.argmin(np.abs(np.concatenate((l1_x1 - l2_x1, l1_x2 - l2_x2))))
>>> q = x1[q_idx]  if q_idx < len(x1) else x2[q_idx - len(x1)]
>>> q
0.54602497466094291
>>> x1[x1 > q].shape[0]
4L
>>> x2[x2 < q].shape[0]
5L
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

查找将两个 Numpy 数组平均划分的值 的相关文章

  • 如何在 Windows 64 上安装 NumPy?

    NumPy 安装程序在注册表中找不到 python 路径 无法安装 需要 Python 2 5 版本 但在注册表中未找到该版本 OK 我必须修改注册表吗 我已经修改了 PATH 以指向Python25安装目录 我可以检查一下您使用的是什么安
  • 使用 matplotlib 从“列表列表”绘制 3D 曲面

    我已经搜索了一些 虽然我可以找到许多有用的网格网格示例 但没有一个清楚地表明我如何将列表列表中的数据转换为可接受的形式 以适应我所讨论的各种方式 当谈到 numpy matplotlib 以及我所看到的建议的术语和步骤顺序时 我有点迷失 我
  • Sublime Text 插件开发中的全局 Python 包

    一 总结 我不知道 Sublime Text 插件开发人员如何使用 Sublime Text 查找全局 Python 包 而不是 Sublime Text 目录的 Python 包 Sublime Text使用自己的Python环境 而不是
  • opencv水印周围的轮廓

    我想在图像中的水印周围画一个框 我已经提取了水印并找到了轮廓 但是 不会在水印周围绘制轮廓 轮廓是在我的整个图像上绘制的 请帮我提供正确的代码 轮廓坐标的输出为 array 0 0 0 634 450 634 450 0 dtype int
  • Pandas:GroupBy 到 DataFrame

    参考这个关于 groupby 到 dataframe 的非常流行的问题 https stackoverflow com questions 10373660 converting a pandas groupby object to dat
  • 如果未引发异常,则通过 Python 单元测试

    在Python中unittest框架 是否有一种方法可以在未引发异常的情况下通过单元测试 否则会因 AssertRaise 而失败 如果我正确理解你的问题 你could做这样的事情 def test does not raise on va
  • Keras:如何保存模型或权重?

    如果这个问题看起来很简单 我很抱歉 但是阅读 Keras 保存和恢复帮助页面 https www tensorflow org beta tutorials keras save and restore models https www t
  • Emacs 24.x 上的 IPython 支持

    我对 IPython 与 Emacs 的集成感到困惑 从 Emacs 24 开始 Emacs 附带了自己的python el 该文件是否支持 IPython 还是仅支持 Python 另外 维基百科 http emacswiki org e
  • Tensorflow 与 Keras 的兼容性

    我正在使用 Python 3 6 和 Tensorflow 2 0 并且有一些 Keras 代码 import keras from keras models import Sequential from keras layers impo
  • 如何合并非常大的 numpy 数组?

    我会有很多Numpy https docs scipy org doc numpy 1 14 0 reference arrays https docs scipy org doc numpy 1 14 0 reference arrays
  • 通过索引访问Python字典的元素

    考虑一个像这样的字典 mydict Apple American 16 Mexican 10 Chinese 5 Grapes Arabian 25 Indian 20 例如 我如何访问该字典的特定元素 例如 我想在对 Apple 的第一个
  • 使用 Keras np_utils.to_categorical 的问题

    我正在尝试将整数的 one hot 向量数组制作为 keras 将能够使用的 one hot 向量数组来拟合我的模型 这是代码的相关部分 Y train np hstack np asarray dataframe output vecto
  • ANTLR 获取并拆分词法分析器内容

    首先 对我的英语感到抱歉 我还在学习 我为我的框架编写 Python 模块 用于解析 CSS 文件 我尝试了 regex ply python 词法分析器和解析器 但我发现自己在 ANTLR 中 第一次尝试 我需要解析 CSS 文件中的注释
  • 在 keras 中保存和加载权重

    我试图从我训练过的模型中保存和加载权重 我用来保存模型的代码是 TensorBoard log dir output model fit generator image a b gen batch size steps per epoch
  • Mac OSX 10.6 上的 Python mysqldb 不工作

    我正在使用 Python 2 7 并尝试让 Django 项目在 MySQL 后端运行 我已经下载了 mysqldb 并按照此处的指南进行操作 http cd34 com blog programming python mysql pyth
  • Elasticsearch 通过搜索返回拼音标记

    我用语音分析插件 https www elastic co guide en elasticsearch plugins current analysis phonetic html由于语音转换 从弹性搜索中进行一些字符串匹配 我的问题是
  • Django Admin 中的反向内联

    我有以下 2 个型号 现在我需要将模型 A 内联到模型 B 的页面上 模型 py class A models Model name models CharField max length 50 class B models Model n
  • 混淆矩阵不支持多标签指示符

    multilabel indicator is not supported是我在尝试运行时收到的错误消息 confusion matrix y test predictions y test is a DataFrame其形状为 Horse
  • Django 与谷歌图表

    我试图让谷歌图表显示在我的页面上 但我不知道如何将值从 django 视图传递到 javascript 以便我可以绘制图表 姜戈代码 array Year Sales Expenses 2004 1000 400 2005 1170 460
  • 查找总和为给定数字的值组合的函数

    这个帖子查找提供的 Sum 值的组合 https stackoverflow com a 20194023 1561176呈现函数subsets with sum 它在数组中查找总和等于给定值的值的组合 但由于这个帖子已经有6年多了 我发这

随机推荐

  • Git 推送结果致命:协议错误:错误的行长度字符:这

    我正在尝试让 GitLab 在我的服务器上运行 运行 CentOS 6 5 我跟着gitlab 菜谱 https github com gitlabhq gitlab recipes blob master install centos R
  • 如何创建一个包含纬度和经度的数组,并使用for循环来标记android中谷歌地图上的位置

    我刚刚开始在 android 中编码 经过很长一段时间 我让我的谷歌地图可以工作 并且能够在上面放置标记 接下来我想做的是创建一个 latlng 数组并使用 for 循环在谷歌地图上放置一个标记 我不知道该怎么做 有人可以帮助我吗 到目前为
  • 更改 Windows 中的默认 MySQL 用户

    如果我运行mysql or mysqldump从命令提示符运行程序 我在 Windows 中得到这个 ERROR 1045 28000 Access denied for user ODBC localhost using password
  • 内联三元运算符不起作用

    由于某种原因 我的三元运算符分配不适用于数组的第二部分 有人看到我做错了什么吗 它应该只是查看永久链接字段是否有值 如果没有则插入link url进入数组 function getSiteMap this gt db gt select s
  • Firefox 中的文本描边和阴影 CSS3

    我想知道是否有一种方法可以在文本中添加描边和阴影 我可以让它在 Chrome 和 Safari 中工作 因为 webkit 支持文本描边和文本阴影 我可以在 Firefox 中显示笔划 但那是使用文本阴影并使用偏移量 那么有人知道解决这个问
  • 将日期和时间数字转换为 time_t 并指定时区

    我有以下整数 int y mon d h min s 他们的价值观是 2012 06 27 12 47 53分别 如果我在应用程序中的其他地方选择了 UTC 我想表示 2012 06 27 12 47 53 UTC 的日期时间 或者如果我在
  • 如何通过 SAX XML Schema Validator 的验证消息进行内部化?

    我使用此代码根据 XSD 验证 XML SchemaFactory factory SchemaFactory newInstance http www w3 org 2001 XMLSchema Schema schema factory
  • Excel 复制到 Word VBA

    我正在使用宏记录器处理一些代码 在单词中 它总是以选择开头 本文说我应该能够将文档分配给一个变量 然后将其插入到 Selection 之前 但是 在我输入文档变量后 选择方法不会出现在 VBE 中 第一次使用 Selection 对象 Se
  • 如何在 VB.NET 中使用多种字体样式组合?

    如果我想设置我的字体 我可以使用 new Font Times New Roman 12 Drawing FontStyle Bold 我可以使用斜体 常规或下划线代替粗体 但我想同时使用粗体和斜体 我怎样才能做到这一点 The FontS
  • wx 0.90.0.1 无法在 Haskell Platform 2012.2.0.0 (WinXP) 上安装

    我尝试使用 cabal install wx 在 Haskell Platform 2012 2 0 0 上安装 WX 0 90 0 1 但得到以下结果 Configuring wxc 0 90 0 4 setup exe wx confi
  • AspectJ:验证错误

    我正在尝试面向方面的编程 我已经安装了AspectJ 插件 http eclipse org aspectj index php在 Eclipse 中并遵循本中提到的所有步骤tutorial http sites google com si
  • 无效的二进制或无效的 Swift 支持

    将应用程序发送到应用程序商店以供批准后 我在 iTunes Connect 中收到消息 无效的二进制文件 然后我在 Apple 发来的电子邮件中收到以下消息 无效的 Swift 支持 该捆绑包包含无效的 Swift 实现 该应用程序可能是使
  • Chart.js x 轴线性比例:奇怪的行为

    我正在尝试在 Chart js 图表中的 x 轴上使用线性刻度 我添加了一些代码 因为 stackoverflow 使其在添加 jsfiddle url 时必须这样做 但我不明白这一点 var options scales xAxes ty
  • 相当于其他编译器中 MSVC 的 _countof 吗?

    是否有任何内置的等价物 countof http msdn microsoft com en us library ms175773 v VS 100 aspx由其他编译器提供 特别是 GCC 和 Clang 有没有非宏观形式 使用C 11
  • 理解 sklearn CountVectorizer 中的“ngram_range”参数

    我对如何在 Python 的 scikit learn 库中使用 ngrams 有点困惑 具体来说 如何ngram range参数在 CountVectorizer 中工作 运行这段代码 from sklearn feature extra
  • 等待 Task.Run 与等待

    我在网上搜索了一下 看到很多关于Task Run与await async相比 但是有一个特定的使用场景 我不太理解其中的区别 我相信场景很简单 await Task Run gt LongProcess vs await LongProce
  • C# 拖放:拖动时显示拖动的项目

    我正在使用 C 和 Windows 窗体构建桌面应用程序 我有一个自定义控件 我希望能够将其拖放到我的应用程序内 而不是外部 现在我正在使用通常的 DoDragDrop OnDragOver OnDragDrop 方法来实现它 有没有什么方
  • 如何在php mysql中获取结果的所有行?

    在我的表中我有 2 条记录companyid 1 但是当我运行下面的 php 时companyid 1它只返回第一个 如何获取所有记录 php 文件 if isset GET companyid companyid GET companyi
  • R:将数据帧转换为三维数组?

    我想转换一个数据框 例如 day lt c 1 1 1 2 2 2 3 3 3 area lt c A B C area lt rep area 3 measure1 lt c 99 97 95 102 105 98 103 98 90 m
  • 查找将两个 Numpy 数组平均划分的值

    我有两个数组 x1 and x2 具有相同长度且具有重叠的值范围 我需要找到一个值q这样l1 l2被最小化 并且 l1 x1 np where x1 gt q shape 0 l2 x2 np where x2 lt q shape 0 我