带元组的二维numpy数组:扩展为带有原始元组组合的多个数组

协方差

假设我有一个NumPy数组,如下所示:

0      1      (2,3)
(4,5)  6      7
9      (10,)  11

我如何将其拆分为以下数组的列表?条件:最终数组中没有元组,并且每个数组都包含元组元素的唯一组合。也就是说,原始数组中有两个元组,因此这些元素有4种不同的组合。下面的第一个数组具有原始数组的组合(2)和(4)。

0  1  2
4  6  7
9  10 11

0  1  2
5  6  7
9  10 11

0  1  3
4  6  7
9  10 11

0  1  3
5  6  7
9  10 11
CT Zhu

如@unutbu所建议的,这样的数据结构很尴尬。但是,如果您想这样做,那是可行的:

In [52]:
A
Out[52]:
array([[0, 1, (2, 3)],
       [(4, 5), 6, 7],
       [9, (10,), 11]], dtype=object)

In [53]:
import itertools
AR=A.ravel()
AT=[i for i, val in enumerate(AAR) if isinstance(val, tuple)]
for item in itertools.product(*AR[AT]):
    B=AR.copy()
    B[AT]=item
    print B.reshape(A.shape)
[[0 1 2]
 [4 6 7]
 [9 10 11]]

[[0 1 2]
 [5 6 7]
 [9 10 11]]

[[0 1 3]
 [4 6 7]
 [9 10 11]]

[[0 1 3]
 [5 6 7]
 [9 10 11]]

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

numpy的二维数组组合

来自分类Dev

从元组生成二维布尔数组

来自分类Dev

如何以有效的方式创建二维 numpy 数组的相应元素的元组

来自分类Dev

将元组数组转换为二维数组

来自分类Dev

如何将一维数组与二维数组组合

来自分类Dev

从二维数组创建元组列表

来自分类Dev

将二维数组与php中的另一个单维数组组合

来自分类Dev

由二维数组组成的二维数组

来自分类Dev

二维numpy数组中带有索引的Pandas数据帧的有效子集

来自分类Dev

带二维数组的双指针

来自分类Dev

带二维数组的双指针

来自分类Dev

第二维为空的 numpy 数组

来自分类Dev

带有二维数组的python numpy`np.take`

来自分类Dev

Numpy 相当于带有滚动二维数组的 zip

来自分类Dev

返回带有两个数组的元组

来自分类Dev

沿堆叠二维numpy数组的第三维确定所有唯一组合

来自分类Dev

从PDO查询返回带有列名的二维数组

来自分类Dev

带有MINIJson的JSON二维数组

来自分类Dev

c中带有char指针的二维数组

来自分类Dev

如何扩展二维数组?

来自分类Dev

带元组的索引Numpy数组维度

来自分类Dev

具有二维数组的numpy.partition()

来自分类Dev

PHP - 寻找一种方法来比较二维数组中的值,然后将具有相同值的数组组合成一个三维数组

来自分类Dev

查看包含多个单个数组的二维数组中是否存在具有特定值集的单个数组的有效方法?斯威夫特 4

来自分类Dev

将多个数组转换为元组

来自分类Dev

numpy的二维数组最大/最大

来自分类Dev

如何更新二维numpy数组?

来自分类Dev

如何生成二维numpy数组?

来自分类Dev

二维numpy数组中的阈值