[英]How to turn a 3d numpy array into a pandas dataframe of numpy 1d arrays?
我有一个numpy
3d 数组。 我想从中创建一个pandas
数据框,它的行数与数组的第一个维度的大小一样多,列数将是第二个维度的大小。 数据帧的值应该是具有第三维大小的实际向量( numpy
数组)。
就像我有这个大小为(2, 3, 5)
的数组:
>>> arr
array([[[ 1., 1., 1., 1., 1.],
[ 0., 0., 0., 0., 0.],
[ 1., 2., 3., 4., 6.]],
[[ 0., 0., 0., 0., 0.],
[11., 22., 33., 44., 66.],
[ 0., 0., 0., 0., 0.]]])
我想把它变成这个数据框(并用原生的numpy
和/或pandas
方法有效地做到这一点):
>>> df_arr
col0 col1 col2
0 [1.0, 1.0, 1.0, 1.0, 1.0] [0.0, 0.0, 0.0, 0.0, 0.0] [1.0, 2.0, 3.0, 4.0, 6.0]
1 [0.0, 0.0, 0.0, 0.0, 0.0] [11.0, 22.0, 33.0, 44.0, 66.0] [0.0, 0.0, 0.0, 0.0, 0.0]
pd.DataFrame.from_records
有效:
pd.DataFrame.from_records(arr, columns=['col0', 'col1', 'col2'])
col0 ... col2
0 [1.0, 1.0, 1.0, 1.0, 1.0] ... [1.0, 2.0, 3.0, 4.0, 6.0]
1 [0.0, 0.0, 0.0, 0.0, 0.0] ... [0.0, 0.0, 0.0, 0.0, 0.0]
[2 rows x 3 columns]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.