Python 将两个numpy数组转换为数据帧
我想将两个numpy数组转换为一个包含两列的Python 将两个numpy数组转换为数据帧,python,arrays,pandas,numpy,dataframe,Python,Arrays,Pandas,Numpy,Dataframe,我想将两个numpy数组转换为一个包含两列的DataFrame。 第一个numpy数组“images”的形状是1021024。 第二个numpy数组“label”的形状为(1020,) 我的核心代码是: images=np.array(images) label=np.array(label) l=np.array([images,label]) dataset=pd.DataFrame(l) 但事实证明,这样说是错误的: ValueError: could not broadcast inp
DataFrame
。
第一个numpy数组“images”的形状是1021024
。
第二个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)
如何将这两个numpy数组转换为一个数据帧中的两列?您不能轻松地将它们堆叠起来,特别是如果您希望将它们作为不同的列,因为您无法在数据帧的一列中插入二维数组,所以您需要将其转换为其他内容,例如
列表
因此,类似这样的方法会起作用:
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列的数据帧
,其中第二列中的每个项目都包含长度为1024的1D数组。可能的重复项