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つの列に変換するにはどうすればよいですか?
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配列が含まれます。