Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将2d numpy阵列与自身进行比较,形成3d阵列_Python_Numpy - Fatal编程技术网

Python 将2d numpy阵列与自身进行比较,形成3d阵列

Python 将2d numpy阵列与自身进行比较,形成3d阵列,python,numpy,Python,Numpy,我有一个简单的2d numpy数组,如下所示 array([[1, 0, 1], [1, 1, 0], [0, 1, 1], [0, 0, 0], [1, 0, 0]]) 我想做的是将数组中的每一行相乘,形成一个3d数组(这样1*1=1和其他任何东西都将是0,本质上是一个和函数): 结果证明答案很简单。如果数组是x: x[np.newaxis,:,:]*x[:,np.newaxis,:] 这适用于逻辑表达式,如果您只想比较每行中相同的元

我有一个简单的2d numpy数组,如下所示

array([[1, 0, 1],
       [1, 1, 0],
       [0, 1, 1],
       [0, 0, 0],
       [1, 0, 0]])
我想做的是将数组中的每一行相乘,形成一个3d数组(这样
1*1=1
和其他任何东西都将是
0
,本质上是一个
函数):


结果证明答案很简单。如果数组是
x

x[np.newaxis,:,:]*x[:,np.newaxis,:]
这适用于逻辑表达式,如果您只想比较每行中相同的元素,可以执行以下操作:

np.logical_not(np.logical_xor(x[np.newaxis,:,:], x[:,np.newaxis,:]))
这将返回:

array([[[ True,  True,  True],
        [ True, False, False],
        [False, False,  True],
        [False,  True, False],
        [ True,  True, False]],

       [[ True, False, False],
        [ True,  True,  True],
        [False,  True, False],
        [False, False,  True],
        [ True, False,  True]],

       ...,
       ...,
       ...], dtype=bool)
array([[[ True,  True,  True],
        [ True, False, False],
        [False, False,  True],
        [False,  True, False],
        [ True,  True, False]],

       [[ True, False, False],
        [ True,  True,  True],
        [False,  True, False],
        [False, False,  True],
        [ True, False,  True]],

       ...,
       ...,
       ...], dtype=bool)