如何将x.numpy()的形状转换为矩阵(n,m)

时间:2020-09-11 11:05:55

标签: python-3.x numpy shapes

我有以下数据集,

for x,y in dataset:    
    print(f'x= {x.numpy()}, y = {y.numpy()}')

x= [0.1408765  0.09398889], y = 0.13090546429157257
x= [0.09398889 0.13090546], y = 0.1910403072834015
x= [0.13090546 0.1910403 ], y = 0.18664830923080444
x= [0.1910403  0.18664831], y = 0.14707279205322266
x= [0.18664831 0.14707279], y = 0.12366459518671036
x= [0.14707279 0.1236646 ], y = 0.29020464420318604
x= [0.1236646  0.29020464], y = 0.4495038092136383
x= [0.29020464 0.4495038 ], y = 0.599069356918335
x= [0.4495038  0.59906936], y = 0.5652390718460083
x= [0.59906936 0.5652391 ], y = 0.5409049987792969
x= [0.5652391 0.540905 ], y = 0.5281562805175781
x= [0.540905  0.5281563], y = 0.49817198514938354
x= [0.5281563 0.498172 ], y = 0.5296282172203064

当我打电话给x.shape时,我得到(2,),但我想得到(len(x), 2)的形状。我如何将x转换为所需的形状。同样,所需的y形状为(len(y), 1)

谢谢

2 个答案:

答案 0 :(得分:1)

我想你的数据集看起来像

dataset = [[[0.1408765, 0.09398889], 0.13090546429157257],
           [[0.09398889, 0.13090546], 0.1910403072834015],
           [[0.13090546, 0.1910403], 0.18664830923080444],
           [[0.1910403, 0.18664831], 0.14707279205322266],
           [[0.18664831, 0.14707279], 0.12366459518671036],
           [[0.14707279, 0.1236646], 0.29020464420318604],
           [[0.1236646, 0.29020464], 0.4495038092136383],
           [[0.29020464, 0.4495038], 0.599069356918335],
           [[0.4495038, 0.59906936], 0.5652390718460083],
           [[0.59906936, 0.5652391], 0.5409049987792969],
           [[0.5652391, 0.540905], 0.5281562805175781],
           [[0.540905, 0.5281563], 0.49817198514938354],
           [[0.5281563, 0.498172], 0.5296282172203064]]

然后您将获得x,例如:

x = [row[0] for row in dataset]

和y:

y = [row[1] for row in dataset]

这是您的意思吗?

答案 1 :(得分:0)

这个答案对我有用:

x = [row[0] for row in dataset]

y= [row[1] for row in dataset]

print(np.asarray(x).shape)

print(np.asarray(y).shape)
相关问题