如何将numpy数组列表转换为numpy数组

Posted

技术标签:

【中文标题】如何将numpy数组列表转换为numpy数组【英文标题】:How to convert list of numpy arrays to numpy array 【发布时间】:2021-06-09 14:03:23 【问题描述】:

我想为 LSTM 制作一个滑动窗口。为此,我有:

x_train=[[]]
y_train = []

for i in range(10, len(train_data)):
  x_train.append(train_data[i-10:i])
  y_train.append(train_data[i,0])

train_data 的形状是 (2730, 2),所以我想 x_train 是 (2721, 10, 2)。 在循环之后x_trainy_train 是numpy 数组的列表。 在教程中,应用 np.asarraynp.array 将其更改为 numpy 数组就足够了。在我的情况下,它的形状变为 (2721, ),这并不是我所期望的。 可能,最好使用 numpy 数组而不是列表。 但我想知道为什么在教程中我的工作方式对我不起作用。可能代码有小错误什么的?

P.S. 抱歉,我自己发现了一个错误。是x_train=[[]],但应该是x_train=[]

【问题讨论】:

也许this回答你的问题? 谢谢,已经解决了。 这能回答你的问题吗? How to convert list of numpy arrays into single numpy array? @Chris,同一个链接 @matanh 是的,当我投票关闭重复的问题时,它会自动填充,如果您有代表投票关闭,这可能比直接发布链接更好。 【参考方案1】:

感谢您的 cmets。实际上在那种情况下,连接 numpy 数组是一个很好的解决方案。这里我在创建错误类型的列表时出错,因此修复相当明显,只需将x_train=[[]] 替换为x_train=[]

【讨论】:

以上是关于如何将numpy数组列表转换为numpy数组的主要内容,如果未能解决你的问题,请参考以下文章

Python + alglib + NumPy:如何避免将数组转换为列表?

如何将包含字符串列表的 numpy 数组转换为包含零和一列表的数组?

将 2d numpy 数组转换为列表列表 [重复]

将 NumPy 数组转换为 Python 列表结构?

如何使用 SWIG 将 C++ 数组转换为 Python 列表?

如何使用 pybind 传递 numpy 数组列表