web-dev-qa-db-ja.com

2つのnumpy配列をデータフレームに変換します

2つのnumpy配列を2つの列を含む1つのDataFrameに変換したい。最初のnumpy配列 'images'は102, 1024。 2番目のnumpy配列 'label'の形状は(1020, )

私のコアコードは:

images=np.array(images)
label=np.array(label)
l=np.array([images,label])
dataset=pd.DataFrame(l)

しかし、それはエラーであることがわかりました:

ValueError: could not broadcast input array from shape (1020,1024) into shape (1020)

これらの2つの派手な配列を1つのデータフレームの2つの列に変換するにはどうすればよいですか?

6
Y.Z

DataFrameの1つの列に2D配列を挿入できないため、特に別の列にしたい場合は、簡単にスタックすることができません。そのため、たとえばlist

したがって、次のようなものが機能します:

import pandas as pd
import numpy as np
images = np.array(images)
label = np.array(label)
dataset = pd.DataFrame({'label': label, 'images': list(images)}, columns=['label', 'images'])

これにより、1020行2列のDataFrameが作成されます。2番目の列の各アイテムには、長さが1024の1D配列が含まれます。

9
MSeifert