【问题标题】:Python convert ndarray object to 2d array [duplicate]Python将ndarray对象转换为二维数组[重复]
【发布时间】:2018-10-24 09:35:47
【问题描述】:

我有两种名为 idcs 的结果

a) idcs 是一个 2D numpy 数组

print(idcs[0:3,:])
[[  147.  -696. -1000. ...,  2275.  2718.  2206.]
 [  140.  -599.  -999. ...,  1824.  1982.  2084.]
 [ -528.  -291.   441. ...,  -189.   522.   942.]]

b) idcs 是 numpy 数组的一维 ndarray 对象(此处不同数据)

print(idcs[0:3]) 
[ array([ -20.95406189,   54.04593811,  136.04593811, ...,   -4.95406189,
        -88.95406189,  -87.95406189])
 array([  24.49842377,   11.49842377,  -17.50157623, ..., -100.50157623,
       -121.50157623, -106.50157623])
 array([ 460.3249115,  411.3249115,  124.3249115, ...,  -79.6750885,
        -72.6750885,   97.3249115])]

我想将 b) 类型的输出转换为 a) 类型。这该怎么做? 使用 np.vstack 不起作用:

ValueError:除连接轴外的所有输入数组维度必须完全匹配

谢谢,亨氏

【问题讨论】:

    标签: python arrays numpy


    【解决方案1】:

    该错误表明您在第二种情况下的数组具有不同的长度。您不能垂直堆叠具有不同长度的数组。如果您修改数组以使它们都具有相同的长度,则 vstack 将起作用。

    【讨论】:

      猜你喜欢
      • 2019-08-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-10
      • 2020-11-10
      • 2015-10-22
      • 2016-07-18
      • 2023-03-24
      相关资源
      最近更新 更多