- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
考虑以下 numpy.arrays
:
a = np.array([1., 2., 3.])
b = np.array([4., 5.])
c = np.array([6., 7.])
我需要结合这些,所以我最终得到以下内容:
[(1., 4., 6.), (1., 5., 7.), (2., 4., 6.), (2., 5., 7.), (3., 4., 6.), (3., 5., 7.)]
请注意,在这种情况下,数组 a
恰好是最大的数组。然而,这并不能保证。也不能保证长度。换句话说,任何数组都可以是最长的,并且每个数组的长度都是任意的。
我尝试使用 itertools.izip_longest
但我只能将 fillvalue
用于带有 3.
的元组,这是行不通的。我也尝试了 itertools.product
,但我的结果不是真正的笛卡尔积。
最佳答案
您可以转置 b
和 c
,然后使用 itertools.product< 创建
:a
与转置数组的乘积
>>> from itertools import product
>>> [np.insert(j,0,i) for i,j in product(a,np.array((b,c)).T)]
[array([ 1., 4., 6.]), array([ 1., 5., 7.]), array([ 2., 4., 6.]), array([ 2., 5., 7.]), array([ 3., 4., 6.]), array([ 3., 5., 7.])]
>>>
关于python - 压缩不均匀的 numpy 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32113288/
我需要在半径R的圆内生成一个均匀随机点。 我意识到,通过在区间 [0 ... 2π) 中选择均匀随机的角度,并在区间 (0 ... R) 中选择均匀随机的半径,我最终会得到更多的点朝向中心,因为对于两
我想在一个正方形内生成 N 个点(均匀地)。我怎样才能做到这一点? 最佳答案 非常酷的问题,比我想象的要困难得多,但这就是想法。有关于 n 边形的论文,但我只会做正方形。因此,圆的均匀分布是一个常见问
考虑以下示例: import itertools import numpy as np a = np.arange(0,5) b = np.arange(0,3) c = np.arange(0,7)
SQL Server 将一组值分成 5 组,每组的 sum(count) 应该均匀分布。 表仅包含 2 列 rid 和 count。 create table t1(rid int, count in
我有以下简单的 HTML。 A B C 和 CSS: ul { width: 100%; display: flex; flex-direction:
我是一名优秀的程序员,十分优秀!