繁体   English   中英

将 3d numpy 数组转换为 1 列 pandas df 与 2d ZA3CBC3F9D0CE2F2C1554ZD1D67

[英]Convert 3d numpy array to 1 column pandas df with 2d arrays

I would Convert 3d numpy array to a pandas dataframe that has 1 column, made out of 2d numpy arrays.

具体例子:

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

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

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

谢谢!

也许是列表理解?

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 初始化数据框以标记究竟是什么列,然后将 np.array 的顶层转换为列表(它将其转换为二维数组列表):

>>>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....

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM