Python 用列表连接numpy数组
我想将numpy数组与list连接起来。 像这样:Python 用列表连接numpy数组,python,numpy,Python,Numpy,我想将numpy数组与list连接起来。 像这样: trainClass = np.ones(len(allDataList[0])).tolist() trainArray = tfIdfsListTrain.toarray() np.concatenate( (trainArray, trainClass)) 但是我不知道该怎么做。听起来你的列表,当变成一个数组时,没有正确的维度数。让我举例说明: In [323]: arr = np.arange(12).reshape(3,4) In
trainClass = np.ones(len(allDataList[0])).tolist()
trainArray = tfIdfsListTrain.toarray()
np.concatenate( (trainArray, trainClass))
但是我不知道该怎么做。听起来你的列表,当变成一个数组时,没有正确的维度数。让我举例说明:
In [323]: arr = np.arange(12).reshape(3,4)
In [324]: alist = list(range(3))
In [325]: np.concatenate((arr,alist))
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-325-9b72583c40de> in <module>()
----> 1 np.concatenate((arr,alist))
ValueError: all the input arrays must have same number of dimensions
In [326]: arr.shape
Out[326]: (3, 4)
arr
是二维的,所以这个数组也需要是二维的:
In [328]: np.array(alist)[:,None].shape
Out[328]: (3, 1)
In [329]: np.concatenate((arr, np.array(alist)[:,None]), axis=1)
Out[329]:
array([[ 0, 1, 2, 3, 0],
[ 4, 5, 6, 7, 1],
[ 8, 9, 10, 11, 2]])
在最后一个维度上连接(3,4)数组和(3,1)数组很容易
我得到的印象是,很多人在不了解numpy数组的一些基本知识(例如形状和尺寸)的情况下,就开始使用机器学习代码(
tensorflow
,keras
,sklearn
)?您的列表名为list
?请提供一些示例数据,最好不要命名变量列表
,等等。有什么问题吗?将列表转换为一个数组,并将其传递给串联
。或者让串联
为您执行此操作。如果有错误,可能与形状和尺寸不匹配有关。@hpaulj数组的形状是(25008600),列表的len是2500So,你是在寻找hstack
或类似的东西吗?你最后的评论是如此真实,早些时候我把所有东西都当作一个黑匣子,在深度学习热潮中领先,但这让我无计可施,幸运的是,我有一位好导师一步一步地指导我。在深入学习之前,我正在彻底学习基础知识。
In [328]: np.array(alist)[:,None].shape
Out[328]: (3, 1)
In [329]: np.concatenate((arr, np.array(alist)[:,None]), axis=1)
Out[329]:
array([[ 0, 1, 2, 3, 0],
[ 4, 5, 6, 7, 1],
[ 8, 9, 10, 11, 2]])