如何以这种所需的数组形状转换数据框列表?

时间:2019-06-25 14:41:25

标签: python numpy dataframe

我有一个数据帧列表,看起来像图像中所示。

列表长度为200,其中有200个数据帧,每个数据帧的长度为205,有6列。

我想将此列表显示为形状数组(200,205,6)

我尝试了以下方法,但仍然出现以下错误。

np.array(samples).reshape(200,205,6)

对于此代码,我得到一个错误:

ValueError:无法将大小为205的序列复制到尺寸为1的数组轴上

我还删除了5列,并在所有数据集中仅保留了一列,但是却出现了相同的错误。

有什么方法可以使它呈所需的形状。enter image description here

1 个答案:

答案 0 :(得分:0)

由于numpy不知道如何将熊猫数据框转换为np.array,因此出现了此错误,但是您可以很快解决:

np.array([df.values for for df in list_of_dataframes])

我尝试了以下示例数据:

data = [pd.DataFrame(np.random.random((205,6))) for i in range(200)]

np.array([df.values for df in data]).shape

(200,205,6)

PS:可能是以下项目的副本: Convert pandas dataframe to NumPy array