Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.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 是否可以将1D Ndaray(尺寸N)放入1D Ndaray(尺寸N,1)中_Python_Arrays_Numpy - Fatal编程技术网

Python 是否可以将1D Ndaray(尺寸N)放入1D Ndaray(尺寸N,1)中

Python 是否可以将1D Ndaray(尺寸N)放入1D Ndaray(尺寸N,1)中,python,arrays,numpy,Python,Arrays,Numpy,我试着把微积分的结果放到一个大矩阵中,最后一个维度可以是1或2或更多。 所以要把我的结果放到矩阵中,我会 res[i,j,:,:] = y 如果y的大小为(N,2)或大于2,则会找到,但如果y的大小为(N),则会出现一个错误,说明: ValueError: could not broadcast input array from shape (10241) into shape (10241,1) 小例子: import numpy as np N=10 y = np.zeros((N,2

我试着把微积分的结果放到一个大矩阵中,最后一个维度可以是1或2或更多。 所以要把我的结果放到矩阵中,我会

res[i,j,:,:] = y
如果y的大小为(N,2)或大于2,则会找到,但如果y的大小为(N),则会出现一个错误,说明:

ValueError: could not broadcast input array from shape (10241) into shape (10241,1)
小例子:

import numpy as np

N=10
y = np.zeros((N,2))
res = np.zeros((2,2,N,2))
res[0,0,:,:]= y

y = np.zeros((N,1))
res = np.zeros((2,2,N,1))
res[0,0,:,:]= y

y = np.zeros(N)
res = np.zeros((2,2,N,1))
res[0,0,:,:]= y
我得到了上一个例子的错误,但它们都是(y和res)1D向量,对吗

我想知道是否存在一个解决方案,无论最后一个维度的大小如何(1、2或更多),都可以进行此分配

在我的代码中,我做了一次尝试,但可能存在另一种方式

try:
    self.res[i,j,:,:] = self.ODE_solver(len(self.t))
except:
    self.res[i, j, :, 0] = self.ODE_solver(len(self.t))

对于适用于所有三种场景的通用解决方案,请使用-

res[0,0,:,:] = y.reshape(y.shape[0],-1)

因此,基本上,我们正在制作
y
2D
,同时保持第一个轴的长度不变,并根据剩余长度更改第二个轴的长度。

对于适用于所有三种场景的通用解决方案,请使用-

res[0,0,:,:] = y.reshape(y.shape[0],-1)

因此,基本上,我们正在制作
y
2D
,同时保持第一个轴的长度不变,并根据剩余长度更改第二个轴。

您可以将
y
重塑为
res
的最后两个维度

N=10
y=np.零((N,2))
res=np.零((2,2,N,2))
res[0,0,:,:]=y.res.shape[-2:]
y=np.零((N,1))
res=np.零((2,2,N,1))
res[0,0,:,:]=y.res.shape[-2:]
y=np.零(N)
res=np.零((2,2,N,1))
res[0,0,:,:]=y.res.shape[-2:]

您可以将
y
重塑为
res
的最后两个维度

N=10
y=np.零((N,2))
res=np.零((2,2,N,2))
res[0,0,:,:]=y.res.shape[-2:]
y=np.零((N,1))
res=np.零((2,2,N,1))
res[0,0,:,:]=y.res.shape[-2:]
y=np.零(N)
res=np.零((2,2,N,1))
res[0,0,:,:]=y.res.shape[-2:]

在初始化
self.res
之前,您不知道
self.ODE\u解算器(len(self.t))的形状;
在初始化
self.res
之前,您不知道
self.ODE\u解算器(len(self.t))的形状?