Numpy.array从多个括号重塑为2个括号

时间:2019-02-26 21:44:40

标签: python numpy

我在一维numpy.array中有相同的数据,但是由于某种原因,我没有以正确的格式获取它们。我最大的问题是我真的不知道要寻找什么。

我的数据格式如下:

getElementById.classList.remove("errorClass");

但是为了计算它,我需要将我的数据存储为一维数组,如果我是对的,那么它们必须看起来像这样:

yTrue

    [[27.23]
     [26.38]
     [26.19]
     [26.21]
     [26.24]
     [27.47]
     [37.85]
     [53.35]]

Ypred [26.63003973 26.34320268 26.05945521 25.77876403 25.50109623 25.22641923] 告诉我两个变量都是相同的type()

3 个答案:

答案 0 :(得分:0)

我认为您正在寻找数组的self.room = get_object_or_404(rooms, room=self.kwargs['room'])属性。如果这还不是您要找的东西,请查看this question以获得其他想法。

答案 1 :(得分:0)

您有一个(n,1)个形状数组,例如:

In [39]: arr = np.random.rand(5,1)*100                                          
In [40]: arr                                                                    
Out[40]: 
array([[39.12922352],
       [66.79745338],
       [51.97361542],
       [97.60386022],
       [85.89486218]])

有很多方法可以将其重塑为(n,),1d:

In [41]: arr.ravel()                                                            
Out[41]: array([39.12922352, 66.79745338, 51.97361542, 97.60386022, 85.89486218])
In [42]: arr.reshape(5)                                                         
Out[42]: array([39.12922352, 66.79745338, 51.97361542, 97.60386022, 85.89486218])
In [43]: arr.reshape(-1)                                                        
Out[43]: array([39.12922352, 66.79745338, 51.97361542, 97.60386022, 85.89486218])
In [44]: arr.flatten()                                                          
Out[44]: array([39.12922352, 66.79745338, 51.97361542, 97.60386022, 85.89486218])
In [45]: arr[:,0]                                                               
Out[45]: array([39.12922352, 66.79745338, 51.97361542, 97.60386022, 85.89486218])

选择,阅读他们的文档,进行实验。

您显示的是str表示形式:

In [46]: print(arr)                                                             
[[39.12922352]
 [66.79745338]
 [51.97361542]
 [97.60386022]
 [85.89486218]]

答案 2 :(得分:0)

感谢您的帮助。它解决了。我真正的问题是那一刻我不了解这些差异。 谢谢