两个 numpy 数组的笛卡尔积,有条件

2024-03-25

Given 1d数组 w 和 x,下面,我可以使用以下代码形成笛卡尔积。

import numpy as np

w = np.array([1, 2, 3, 4])
x = np.array([1, 2, 3, 4])

V1 = np.transpose([np.repeat(w, len(x)), np.tile(x, len(w))])
print(V1)

[[1 1]
 [1 2]
 [1 3]
 [1 4]
 [2 1]
 [2 2]
 [2 3]
 [2 4]
 [3 1]
 [3 2]
 [3 3]
 [3 4]
 [4 1]
 [4 2]
 [4 3]
 [4 4]]

但是,我希望输出 V1 包括仅限 w (如下所示)。我可以用循环来做到这一点,但我希望速度更快一些。

[[1 2]
 [1 3]
 [1 4]
 [2 3]
 [2 4]
 [3 4]]

使用 itertools 尝试这一行方法 -

import itertools

w = np.array([1, 2, 3, 4])
x = np.array([1, 2, 3, 4])

[i for i in itertools.product(w,x) if i[0]<i[1]]
[(1, 2), (1, 3), (1, 4), (2, 3), (2, 4), (3, 4)]

Itertools 速度极快且内存效率极高。它应该非常快。

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

两个 numpy 数组的笛卡尔积,有条件 的相关文章

随机推荐

  • 用于在不同工作簿中选择范围的 VBA 对话框

    我想允许用户选择可能位于不同工作簿中的范围 我尝试使用 inputbox type 8 来执行此操作 它可以选择工作簿中的数据 但不允许我在不同的工作簿中选择范围 因此我想要一个允许我执行此任务的对话框 由于我有空 我为您创建了一个示例 创
  • .JSchException:数据包损坏

    我在 RHEl 6 上使用 Jsch 0 1 51 和 Jdk 1 7 51 在与远程计算机进行会话时 我收到以下异常 com jcraft jsch JSchException Packet corrupt at com jcraft j
  • Python venv env 失败 - [WinError 2] 系统找不到指定的文件

    我在 Windows 10 计算机上安装了最新版本的 Python 3 8 2 我以前有Python 3 7 我将其卸载并确认在系统路径中不再引用它 安装最新版本后 我以管理员身份运行CMD py m venv env 我收到此错误 错误
  • 添加到Python中正在迭代的双端队列?

    我在 Python 中有一个双端队列 正在对其进行迭代 有时 当我进行交互时 双端队列会发生变化 从而产生RuntimeError deque mutated during iteration 如果这是一个 Python 列表而不是双端队列
  • 如何部署Tomcat的示例websocket应用程序?

    我正在尝试了解如何部署 Apache Tomcat 7 中引用的示例WebSocket 操作方法 http tomcat apache org tomcat 7 0 doc web socket howto html page 应用程序开发
  • 根据室外温度设置背景颜色

    嘿哦 所以 我有一个温度小部件要在我正在进行的项目上实现 没有什么特别困难的 我有一个免费的 API 来检索我需要的数据等 但是 和我一起工作的可爱设计师有一个颜色特征 我对此一无所知 他会根据当前的天气温度来定义背景颜色 我的意思是如果温
  • 在 ReactJS 中禁用 ContextMenu

    第一篇文章在这里 所以希望我能以最有帮助的方式提出这个问题 我对编码还很陌生 在努力推动自己的过程中 我决定尝试使用 React 来重新创建扫雷 而不是使用任何教程 我已经获得了很多功能 但我真的停留在这部分上 我正在使用事件侦听器 onC
  • 如何快速本地化故事板?

    我正在尝试使用 Swift 3 和 Xcode 8 1 本地化我的应用程序 我正在尝试使用 Storyboard main strings German 并以编程方式使用来本地化应用程序 NSLocalizedString 我能够使用编程方
  • 如何从多个网站获取 RSS 源

    我正在为我的网站获取 RssFeeds 并且它正在显示 但是如何从多个站点获取 RSS Feed 并且需要从第一个站点的三个 feed 第二个站点的三个 feed 等依次显示 主要来自 CNN BBC 这是我的代码 protected vo
  • 如何使用 asp.net 和 C# 强制回发

    我与客户安排了一个演示 现在我需要一个快速而肮脏的修复 明天我会找到更合适的解决方案 但目前我需要一种方法来强制回发或刷新页面 我试过 Response Redirect 但它带我到一个页面 上面写着 对象已移至此处 这里 是一个超链接 可
  • Cabal - 在构建库时公开所有模块

    是否可以告诉Cabal在构建库时公开所有模块 现在我必须提供很长的模块列表exposed modulescabal 配置文件部分 您必须列出 cabal 配置文件中的所有模块 在你的情况下 你只需将模块列表放在后面exposed modul
  • 将列表设置为 pandas 数据帧的列中的值

    假设我有一个数据框df我想创建一个填充 0 的新列 我使用 df new col 0 到目前为止 没有问题 但如果我想使用的值是一个列表 它就不起作用 df new col my list ValueError Length of valu
  • jQuery 在选择框上设置选项

    我似乎无法让这个工作
  • 为什么 String.equals() 比它本身快?

    我试图创建一个更快的版本字符串 equals http docs oracle com javase 7 docs api java lang String html equals 28java lang Object 29方法并从简单地复
  • 如何使用plot_grid在没有任何空间的情况下放置绘图?

    我正在做 2x2 地块的排列 这些图共享相同的轴 所以我想将它们放在一起 例如 这段代码 library ggplot2 library cowplot Value lt seq 0 1000 by 1000 10 Index lt 0 1
  • 如何自托管 ASP.NET 5 MVC6 应用程序

    刚刚开始学习 ASP NET 5 MVC 6 我很好奇在 IIS 之外自托管这样一个应用程序 作为 Windows 服务 我应该使用 TopShelf 来实现这一点 就像 OWIN Katana 应用程序的情况一样 还是 ASP NET 5
  • 使用护照进行 Node.js 用户身份验证

    使用序列化函数更新了代码 仍然重定向到 failedRedirect 我试图使用护照包进行简单的用户名 密码身份验证 但失败了 在下面的示例中 我尝试通过基本上始终返回有效的身份验证 无论通过什么 来验证身份验证是否有效 但由于某种原因它失
  • 使用X264和librtmp发送实时相机帧,但闪光灯无法显示

    我正在使用 X264 和 librtmp 发送我的实时相机帧 所有事情看起来都是正确的 但我的网络测试 Flash 无法显示正确的视频 有时它看起来是正确的 但是当我重新单击播放按钮时 闪光灯上没有显示任何图片 这是我的 X264 配置代码
  • 获取字符串中字符的所有索引的更有效方法

    不要循环遍历每个字符以查看它是否是您想要的字符 然后将索引添加到列表中 如下所示 var foundIndexes new List
  • 两个 numpy 数组的笛卡尔积,有条件

    Given 1d数组 w 和 x 下面 我可以使用以下代码形成笛卡尔积 import numpy as np w np array 1 2 3 4 x np array 1 2 3 4 V1 np transpose np repeat w