反正还能记录不规则数组的形状吗?

问题描述 投票:0回答:1

我有一个值列表:

[array([[-0.44202444, -1.04178747,  1.4362035 , -0.15685013, -0.19853092,
     -0.2987249 ,  0.24365914, -0.10306063, -0.33542501, -0.91320021],
    [-1.56645978,  0.32935671, -0.39181109, -0.83418194,  1.33669395,
      0.52043596, -0.86230729,  1.14529712, -1.32337386, -0.53391686],
    [-2.54651185, -0.53688055, -0.59178218,  0.33979576,  0.10487541,
      0.28045898,  0.00476822, -0.02171904,  1.0531645 , -0.17893486]]),
 array([[-0.72912248],
        [-0.77519337],
        [ 1.26072658],
        [ 1.4535593 ],
        [ 0.51634109],
        [-0.09738144],
        [-1.09359289],
        [-0.81102859],
        [ 0.59387883],
        [-0.1597755 ]])]

我想展平此数组,对其进行更改,然后将其恢复为原始形状。需要说明的是,例如,我从这两个列表中随机选择一个要更改的值,然后将形状重置为上面显示的原始形状。最好的方法是什么?

python
1个回答
0
投票

您想要这个吗?

import numpy as np
a = [np.array([[-0.44202444, -1.04178747,  1.4362035 , -0.15685013, -0.19853092,
     -0.2987249 ,  0.24365914, -0.10306063, -0.33542501, -0.91320021],
    [-1.56645978,  0.32935671, -0.39181109, -0.83418194,  1.33669395,
      0.52043596, -0.86230729,  1.14529712, -1.32337386, -0.53391686],
    [-2.54651185, -0.53688055, -0.59178218,  0.33979576,  0.10487541,
      0.28045898,  0.00476822, -0.02171904,  1.0531645 , -0.17893486]]),
 np.array([[-0.72912248],
        [-0.77519337],
        [ 1.26072658],
        [ 1.4535593 ],
        [ 0.51634109],
        [-0.09738144],
        [-1.09359289],
        [-0.81102859],
        [ 0.59387883],
        [-0.1597755 ]])]
shapes = [i.shape for i in a]
print(shapes)

输出:

[(3, 10), (10, 1)]
© www.soinside.com 2019 - 2024. All rights reserved.