ValueError:所有输入数组的维数必须相同

odo22

我有一个问题np.append

我正在尝试n_list_converted通过使用以下代码来复制20x361矩阵的最后一列

n_last = []
n_last = n_list_converted[:, -1]
n_lists = np.append(n_list_converted, n_last, axis=1)

但是我得到了错误:

ValueError:所有输入数组的维数必须相同

但是,我已经通过检查矩阵尺寸

 print(n_last.shape, type(n_last), n_list_converted.shape, type(n_list_converted))

我得到

(20公升)(20公升,361公升)

尺寸匹配吗?错误在哪里?

hpaulj

如果我从3x4数组开始,然后将3x1数组与轴1连接起来,则会得到3x5数组:

In [911]: x = np.arange(12).reshape(3,4)
In [912]: np.concatenate([x,x[:,-1:]], axis=1)
Out[912]: 
array([[ 0,  1,  2,  3,  3],
       [ 4,  5,  6,  7,  7],
       [ 8,  9, 10, 11, 11]])
In [913]: x.shape,x[:,-1:].shape
Out[913]: ((3, 4), (3, 1))

请注意,两个要连接的输入都具有2维。

省略:,并且x[:,-1]为(3,)形状-为1d,因此出现错误:

In [914]: np.concatenate([x,x[:,-1]], axis=1)
...
ValueError: all the input arrays must have same number of dimensions

的代码np.append是(在这种情况下,指定了轴)

return concatenate((arr, values), axis=axis)

因此,只要稍微改变一下语法即可append它使用2个参数代替列表。它模仿列表append是语法,但不应与该列表方法混淆。

In [916]: np.append(x, x[:,-1:], axis=1)
Out[916]: 
array([[ 0,  1,  2,  3,  3],
       [ 4,  5,  6,  7,  7],
       [ 8,  9, 10, 11, 11]])

np.hstack首先确保所有输入均为atleast_1d,然后进行串联:

return np.concatenate([np.atleast_1d(a) for a in arrs], 1)

因此,它需要相同的x[:,-1:]输入。本质上是相同的动作。

np.column_stack 在轴1上也进行连接。但是首先它将1d输入通过

array(arr, copy=False, subok=True, ndmin=2).T

这是将(3,)数组转换为(3,1)数组的一般方法。

In [922]: np.array(x[:,-1], copy=False, subok=True, ndmin=2).T
Out[922]: 
array([[ 3],
       [ 7],
       [11]])
In [923]: np.column_stack([x,x[:,-1]])
Out[923]: 
array([[ 0,  1,  2,  3,  3],
       [ 4,  5,  6,  7,  7],
       [ 8,  9, 10, 11, 11]])

所有这些“堆栈”都可以方便使用,但从长远来看,了解尺寸和基础很重要np.concatenate还知道如何查找类似这样的函数的代码。我经常使用ipython ??魔术。

在时间测试中,np.concatenate速度明显更快-像这样的小数组,额外的函数调用层会产生很大的时差。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

scipy.optimize.minimize:ValueError:所有输入数组的维数必须相同

来自分类Dev

Numpy hstack-“ ValueError:所有输入数组必须具有相同数量的维数”-但它们确实

来自分类Dev

Numpy hstack-“ ValueError:所有输入数组必须具有相同数量的维数”-但它们确实

来自分类Dev

连接之前的输入数组必须具有相同的维数

来自分类Dev

sklearn流水线ValueError:除串联轴外,所有输入数组维必须完全匹配

来自分类Dev

numpy数组具有相同的形状,但得到ValueError:x和y必须具有相同的第一维

来自分类Dev

如何解决:“除串联轴外,所有输入数组维必须完全匹配” python

来自分类Dev

ValueError:数组的长度必须相同

来自分类Dev

Matplotlib:ValueError:x和y必须具有相同的第一维

来自分类Dev

ValueError:x和y必须具有相同的第一维

来自分类Dev

ValueError:x和y在python的线性回归中必须具有相同的第一维

来自分类Dev

Python-从CSV读取-ValueError:x和y必须具有相同的第一维

来自分类Dev

SciKit高斯混合模型ValueError:x和y必须具有相同的第一维

来自分类Dev

当它们实际上是相同长度的一维数组时,获取“ValueError:x 和 y 必须是相同长度的一维数组”

来自分类Dev

提前输入,必须是一维数组

来自分类Dev

Seaborn Scatterplot ValueError:数组的长度必须相同

来自分类Dev

获取与数组具有相同类的所有输入的值

来自分类Dev

二维数组-使子数组键与所有键相同

来自分类Dev

如何将二维C#数组初始化为所有相同的值?

来自分类Dev

熊猫和JSON ValueError:数组的长度必须相同

来自分类Dev

广播功能,更改输入数组的维数

来自分类Dev

二维对象数组,每个对象都有自己的arraylist,所有对象似乎都具有相同的arraylist

来自分类Dev

ValueError:检查输入时出错:预期lstm_13_input具有3维,但数组的形状为(1,1)

来自分类Dev

ValueError:检查输入时出错:预期conv2d_input具有4维,但数组的形状为(None,1)

来自分类Dev

输入数组的所有值?

来自分类Dev

用相同的数组或矩阵输入和返回列表评估R中的所有函数

来自分类Dev

AngularJs验证,所有输入必须具有不同的值

来自分类Dev

我是否必须释放所有指向相同结构的指针?

来自分类Dev

Tensorflow / keras错误:ValueError:检查输入时出错:预期的lstm_input具有3个维,但数组的形状为(4012,42)

Related 相关文章

  1. 1

    scipy.optimize.minimize:ValueError:所有输入数组的维数必须相同

  2. 2

    Numpy hstack-“ ValueError:所有输入数组必须具有相同数量的维数”-但它们确实

  3. 3

    Numpy hstack-“ ValueError:所有输入数组必须具有相同数量的维数”-但它们确实

  4. 4

    连接之前的输入数组必须具有相同的维数

  5. 5

    sklearn流水线ValueError:除串联轴外,所有输入数组维必须完全匹配

  6. 6

    numpy数组具有相同的形状,但得到ValueError:x和y必须具有相同的第一维

  7. 7

    如何解决:“除串联轴外,所有输入数组维必须完全匹配” python

  8. 8

    ValueError:数组的长度必须相同

  9. 9

    Matplotlib:ValueError:x和y必须具有相同的第一维

  10. 10

    ValueError:x和y必须具有相同的第一维

  11. 11

    ValueError:x和y在python的线性回归中必须具有相同的第一维

  12. 12

    Python-从CSV读取-ValueError:x和y必须具有相同的第一维

  13. 13

    SciKit高斯混合模型ValueError:x和y必须具有相同的第一维

  14. 14

    当它们实际上是相同长度的一维数组时,获取“ValueError:x 和 y 必须是相同长度的一维数组”

  15. 15

    提前输入,必须是一维数组

  16. 16

    Seaborn Scatterplot ValueError:数组的长度必须相同

  17. 17

    获取与数组具有相同类的所有输入的值

  18. 18

    二维数组-使子数组键与所有键相同

  19. 19

    如何将二维C#数组初始化为所有相同的值?

  20. 20

    熊猫和JSON ValueError:数组的长度必须相同

  21. 21

    广播功能,更改输入数组的维数

  22. 22

    二维对象数组,每个对象都有自己的arraylist,所有对象似乎都具有相同的arraylist

  23. 23

    ValueError:检查输入时出错:预期lstm_13_input具有3维,但数组的形状为(1,1)

  24. 24

    ValueError:检查输入时出错:预期conv2d_input具有4维,但数组的形状为(None,1)

  25. 25

    输入数组的所有值?

  26. 26

    用相同的数组或矩阵输入和返回列表评估R中的所有函数

  27. 27

    AngularJs验证,所有输入必须具有不同的值

  28. 28

    我是否必须释放所有指向相同结构的指针?

  29. 29

    Tensorflow / keras错误:ValueError:检查输入时出错:预期的lstm_input具有3个维,但数组的形状为(4012,42)

热门标签

归档