[英]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.