是否可以将一维ndarray(大小N)放入一维ndarray(大小N,1)

时间:2019-08-20 11:14:29

标签: python arrays numpy

我试图将微积分的结果放到一个大矩阵中,最后一个维可以是1或2或更大。 所以把我的结果放在我做的矩阵中

File> Restrat

如果y的大小为(N,2)或大于2,则会找到它,但是如果y的大小为(N),我会收到一条错误消息:

res[i,j,:,:] = y

小例子:

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

我在上一个示例中遇到了错误,但是它们都是(y和res)一维矢量对吗?

我想知道是否存在一种解决方案,可以不管最后一个尺寸(1、2或更大)的大小如何进行此分配?

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

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

2 个答案:

答案 0 :(得分:1)

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

<ListView for="item in array" @itemTap="itemTapped">

itemTapped(evt) {
    this.array[evt.index].VARIABLE = true/false;
}

因此,基本上,我们在制作res[0,0,:,:] = y.reshape(y.shape[0],-1) y的同时,保持第一个轴长不变,并根据剩余更改第二个轴长。

答案 1 :(得分:1)

您可以将update重塑为y的最后两个尺寸。

res