将多个 numpy 数组组合成不同形状之一
Posted
技术标签:
【中文标题】将多个 numpy 数组组合成不同形状之一【英文标题】:Combine multiple numpy arrays into one of different shapes 【发布时间】:2020-08-23 12:23:26 【问题描述】:所以我有四个不同形状的 numpy 数组:
(2580, 100)
(2580, 237)
(2580, 8)
(2580, 37)
如何将所有数组组合成一个 numpy 数组?
给我以下错误:
ValueError: could not broadcast input array from shape (2580,237) into shape (2580)
【问题讨论】:
【参考方案1】:>>> import numpy as np
>>> a = np.zeros((2580, 100))
>>> b = np.zeros((2580, 237))
>>> c = np.zeros((2580, 8))
>>> d = np.zeros((2580, 37))
>>> e = np.concatenate((a, b, c, d), axis=1)
>>> e.shape
(2580, 382)
【讨论】:
【参考方案2】:您可以使用np.c_ 沿轴连接
import numpy as np
f = np.zeros(shape=(5,4))
s = np.zeros(shape=(5,6))
t = np.zeros(shape=(5,16))
res=np.c_[f,s,t]
res.shape
(5,26)
【讨论】:
【参考方案3】:只有我们 np.concatenate
import numpy as np
a = np.random.rand(2580, 100)
b = np.random.rand(2580, 237)
c = np.random.rand(2580, 8)
d = np.random.rand(2580, 37)
e = np.concatenate((a, b, c, d), axis = 1)
print(e.shape)
# (2580, 382)
【讨论】:
以上是关于将多个 numpy 数组组合成不同形状之一的主要内容,如果未能解决你的问题,请参考以下文章