numpy配列をリストに連結したい。このような :リストとnumpy配列を連結する
trainClass = np.ones(len(allDataList[0])).tolist()
trainArray = tfIdfsListTrain.toarray()
np.concatenate((trainArray, trainClass))
が、私はそれを行うのですか分かりません。
numpy配列をリストに連結したい。このような :リストとnumpy配列を連結する
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)
concatenate
は、配列に任意のリスト入力をオン:
In [327]: np.array(alist).shape
Out[327]: (3,)
arr
は2Dであるので、この配列は、同様2dはする必要があります
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
)に飛び込むされているという印象を得ます。
あなたの最後のコメントはとても真実です。以前は、すべてをブラックボックスとして使って、深く騒がしい熱狂を味わっていましたが、幸運なことに、ステップバイステップで私を導いてくれる良いメンターがいました。私は深い学習に飛び込む前に基本を徹底的に学んでいます。 –
あなたの配列は 'numpy.array'ですか?あなたのリストの名前は 'list'ですか?いくつかのサンプルデータを提供してください。変数名に 'list'などの名前を付けない方が良いでしょう。 –
どうしたの?リストを配列に変換し、 'concatenate'に渡します。あるいは、あなたのために '連結 'させてください。エラーがある場合は、形状と寸法が一致していない可能性があります。 – hpaulj
配列の@hpauljの形状は(2500,8600)であり、リストのlenは2500です。 – MahsaSeifikar