使用二维阵列将三维numpy阵列转换为1列阵列

2024-05-19 19:48:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我会将3d numpy数组转换为一个有1列的熊猫数据帧,由2d numpy数组组成

具体例子:

np_array = np.zeros((10,3,5))
print(np_array.shape) # (10, 3, 5)

所以从这个numpy数组中,我想创建一个有1列的数据框,它有10行,每行有一个形状(3,5)的项

尝试按原样将其转换为pd.DataFrame(np_array)会抛出ValueError: Must pass 2-d input错误

谢谢


Tags: 数据numpydataframenpzeros数组array例子
2条回答

也许是一份清单

import numpy as np
import pandas as pd
np_array = np.zeros((10,3,5))    
pd.DataFrame(data = [[x] for x in np_array])

您可以这样做,用dict初始化数据帧,以显示具体内容 a列,并将np.array的顶层转换为list(将其转换为二维数组列表):

>>>pd.DataFrame(dict(rows = list(np_array)))
    rows
0   [[0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0....
1   [[0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0....
2   [[0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0....
3   [[0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0....
4   [[0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0....
5   [[0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0....
6   [[0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0....
7   [[0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0....
8   [[0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0....
9   [[0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0....

相关问题 更多 >