Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.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 如何将一维阵列与三维阵列中的一个其他阵列相乘?_Python_Arrays_Function_Multidimensional Array - Fatal编程技术网

Python 如何将一维阵列与三维阵列中的一个其他阵列相乘?

Python 如何将一维阵列与三维阵列中的一个其他阵列相乘?,python,arrays,function,multidimensional-array,Python,Arrays,Function,Multidimensional Array,我有一个一维数组,我想把它和三维数组的第一个轴相乘 例如,我的1D数组的长度为710,我只想将其与同样长度为710的3D数组的第一个轴相乘。我不希望它与其他两个轴相乘(因为它们的大小不同,我会得到一个错误) 我该怎么做 下面是示例代码: data = sla_standard[:,:,:] window = w print(window.shape) print(data.shape) #GOAL: multiply the window with t

我有一个一维数组,我想把它和三维数组的第一个轴相乘

例如,我的1D数组的长度为710,我只想将其与同样长度为710的3D数组的第一个轴相乘。我不希望它与其他两个轴相乘(因为它们的大小不同,我会得到一个错误)

我该怎么做

下面是示例代码:

    data = sla_standard[:,:,:]
    window = w

    print(window.shape)
    print(data.shape)

    #GOAL: multiply the window with the first axis of my data array

    what is printed from console: 
    (710,)
    (710, 81, 320)

两个阵列应具有相同的维度(即,应为3D)。一旦为true,numpy将自动丢失维度(即,只有一行/列的维度将被拉伸以匹配其他数组)。使用
窗口[:,无,无]
将其转换为三维:

>>> window = np.random.random((710))
>>> data = np.random.random((710, 81, 320))
>>> (window[:, None, None] * data).shape
(710, 81, 320)