为了账号安全,请及时绑定邮箱和手机立即绑定

如何将嵌套数组中的每个数组转换为数据框中的行?

如何将嵌套数组中的每个数组转换为数据框中的行?

撒科打诨 2023-06-13 16:18:26
我想将嵌套数组中的每个单独数组转换为数据帧中的每一行。例如:嵌套数组示例如下。如何在数据框中的行中的 [[... ]] 中创建每个数字?有许多嵌套数组,如下所示。任何帮助,将不胜感激。谢谢。为了让事情更简单,我想将每个数组创建为数据框中的行。第一个数组的示例需要在数据帧中像这样布置 * -0.14091441, 0.02556057, 0.10425788, ..., -0.03699904, 0.00503982, 0.08761989 到目前为止,我已经尝试过:pd.concat([pd.DataFrame(arrays_list[i][0]) for i in range(len(arrays_list))]).reset_index(drop=False)arrays_list 是我的嵌套数组。[array([[[-0.14091441,  0.02556057,  0.10425788, ..., -0.03699904,       0.00503982,  0.08761989]],    [[-0.16227441,  0.03150389,  0.06440173, ..., -0.10543424,       0.05987305,  0.04117104]],    [[-0.11423473,  0.03741207,  0.0783961 , ..., -0.16773996,       0.06566695,  0.0683976 ]],    ...,    [[-0.13789459,  0.05840103,  0.09803487, ..., -0.09256409,       0.01833008,  0.08413954]],    [[-0.12652887,  0.03683193,  0.06100509, ..., -0.06188103,       0.00915053,  0.09518969]],    [[-0.19781192,  0.05750425,  0.14811654, ..., -0.10550601,       0.05405622,  0.13771409]]]), array([[[-0.0375578 ,  0.16006446,  0.07978896, ..., -0.0883253 ,       0.0057608 ,  0.07953031]],    [[ 0.00282089,  0.18854009,  0.01686837, ..., -0.02981209,      -0.01220972,  0.02810074]],    [[ 0.0333602 ,  0.21895081,  0.05255894, ..., -0.01882036,      -0.03316848,  0.02506595]],    ...,    [[-0.02498044,  0.17067145,  0.03956907, ..., -0.00617604,       0.01254308,  0.03375499]],    [[ 0.0333602 ,  0.21895081,  0.05255894, ..., -0.01882036,      -0.03316848,  0.02506595]],    [[ 0.01105822,  0.20526624,  0.05087842, ..., -0.0442748 ,      -0.08184794,  0.04356682]]]), array([[[-1.16298698e-01,  6.60857707e-02,  4.37349118e-02, ...,       5.65935597e-02,  1.17720775e-01,  4.68457118e-02]],    [[-1.70329705e-01,  7.15664029e-02,  2.13463139e-02, ...,       8.40441436e-02,  3.38792875e-02, -9.66352411e-04]],    [[-1.38925180e-01,  6.48617744e-02,  7.50765130e-02, ...,       3.60708833e-02,  9.37591046e-02,  3.88324559e-02]],
查看完整描述

1 回答

?
DIEA

TA贡献1820条经验 获得超2个赞

以您提供的可重现示例为例,假设您想要一个数据框作为结果(a、b 和 c 具有相同的形状)。

我首先使用numpy.stack()将数组列表中的所有数组作为一个数组垂直堆叠。

然后我会通过切出形状 1 的中间维度来删除它。

然后我调用pandas.DataFrame()构造函数,你应该得到你的结果。

df = pd.DataFrame(np.vstack(obj)[:,0,:])


查看完整回答
反对 回复 2023-06-13
  • 1 回答
  • 0 关注
  • 122 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信