python列表转二维数组_Python将numpy数组列表转换为二维数组

这篇博客主要讨论如何将Python的numpy数组列表转换为二维数组。作者遇到TypeError和ValueError等错误,尝试了多种方法,如list comprehension和np.stack,最终找到了解决方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这是我的numpy数组列表:

[array([0.33007796,0.10620873,-0.03484848,-0.168602,0.4564025,0.11370123,-0.37691383,-0.10863657,-0.16251889,0.02544368,-0.03327211,0.23185516,-0.32642304,-0.15969283,0.45812119,0.24997875,0.13897375,0.01412147 ,-0.53704494,-0.06121204,0.19579619,0.30438485,0.05908984,0.29759387,-1.61107886,-0.55878418,0.06553798,0.37648846,-0.35247216,3.33212613,0.22318645,-0.21187862,-0.39089783,0.05294092,-0.0413471,0.02179677,980 0.22377998,-0.08718371、0.02940335、0.02797039、0.34935868,-0.05733391、0.07754561,-0.0972822、0.05259355,-0.0562219、0.15573672])

数组([0.20259871,0.12458311,-0.20787658,-0.16353745,0.40842594,0.25567385,-0.2703993,-0.15097566,-0.13328776,-0.0331789,0.02034447,0.07318579,-0.22284479,-0.19045474,0.23279801,0.11366921,0.11914298,-0.29647 ,-0.22698855,-0.045307,0.11098107,0.0524313,-0.0424848,0.11007177,-1.51343118,-0.36741486,-0.05812052,0.13435007,-0.09786326,2.84255649,0.00325309,-0.27484909,-0.47422259,-0.03957974,-0.13663797,-0.03203189 ,-0.06982855,-0.08388657,-0.16572997、0.04573543,-0.00667479、0.21973781,-0.14895521、0.1210014,-0.21911705,-0.05924631,-0.07265716,-0.10153842]]]]

但是我想要这个:

[[0.33007796,0.10620873,-0.03484848,-0.168602,0.4564025,0.11370123,-0.37691383,-0.10863657,-0.16251889,0.02544368,-0.03327211,0.23185516,-0.32642304,-0.15969283,0.45812119,0.24997875,0.13897375,0.01468147, 0.53704494,-0.06121204、0.19579619、0.30438485、0.05908984、0.29759387,-1.61107886,-0.55878418、0.06553798、0.37648846,-0.35247216、3.33212613、0.22318645,-0.21187862,-0.39089783、0.05294092,-0.0413471,-0.0217927.08.2 -0.08718371、0.02940335、0.02797039、0.34935868,-0.05733391、0.07754561,-0.0972822、0.05259355,-0.0562219、0.15573672]

[0.20259871,0.12458311,-0.20787658,-0.16353745,0.40842594,0.25567385,-0.2703993,-0.15097566,-0.13328776,-0.0331789,0.02034447,0.07318579,-0.22284479,-0.19045474,0.23279801,0.11366921,0.11914298,-0.2095175 0.22698855,-0.045307、0.11098107、0.0524313,-0.0424848、0.11007177,-1.51343118,-0.36741486,-0.05812052、0.13435007,-0.09786326、2.84255649、0.00325309,-0.27484909,-0.47422259,-0.03957974,-0.13663797,-0.03203189、0.01 0.06982855,-0.08388657,-0.16572997、0.04573543,-0.00667479、0.21973781,-0.14895521、0.1210014,-0.21911705,-0.05924631,-0.07265716,-0.10153842]]

我试过的

X_transform=[list(x)forxinX_transform]

但是不幸的是抛出:TypeError: 'numpy.float64' object is not iterable

我也尝试过X_transform.tolist()它(不是我想要的):

[array([0.33007796,0.10620873,-0.03484848,-0.168602,0.4564025,0.11370123,-0.37691383,-0.10863657,-0.16251889,0.02544368,-0.03327211,0.23185516,-0.32642304,-0.15969283,0.45812119,0.24997875,0.13897375,0.01412147 ,-0.53704494,-0.06121204,0.19579619,0.30438485,0.05908984,0.29759387,-1.61107886,-0.55878418,0.06553798,0.37648846,-0.35247216,3.33212613,0.22318645,-0.21187862,-0.39089783,0.05294092,-0.0413471,0.02179677980 0.22377998,-0.08718371、0.02940335、0.02797039、0.34935868,-0.05733391、0.07754561,-0.0972822、0.05259355,-0.0562219、0.15573672]),

数组([0.20259871,0.12458311,-0.20787658,-0.16353745,0.40842594,0.25567385,-0.2703993,-0.15097566,-0.13328776,-0.0331789,0.02034447,0.07318579,-0.22284479,-0.19045474,0.23279801,0.11366921,0.11914298,-0.29647 ,-0.22698855,-0.045307,0.11098107,0.0524313,-0.0424848,0.11007177,-1.51343118,-0.36741486,-0.05812052,0.13435007,-0.09786326,2.84255649,0.00325309,-0.27484909,-0.47422259,-0.03957974,-0.13663797,-0.03203189 ,-0.06982855,-0.08388657,-0.16572997、0.04573543,-0.00667479、0.21973781,-0.14895521、0.1210014,-0.21911705,-0.05924631,-0.07265716,-0.10153842]]]]

我也尝试过:

a=[]foriinrange(1000):a.append([X_transform[i][0]])

但是它抛出IndexError: invalid index to scalar variable.

最后我尝试了:

X_transform=np.stack(X_transform)

它抛出:ValueError: all input arrays must have the same shape

解决方案

不确定这是否是您要的,但是让我们尝试[iPython]:

In[1]:importnumpyasnp...:a=np.stack([np.array([1,2,3]),np.array([11,12,13])])...:printa.shape...:printa...:(2,3)[[123][111213]]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值