Numpy.array изменить форму из нескольких скобок в 2 скобки - PullRequest
0 голосов
/ 27 февраля 2019

У меня есть те же данные, которые мне нужны в одномерном массиве numpy.array, но по какой-то причине я не получаю их в правильном формате.Моя самая большая проблема в том, что я не знаю, что искать.

Мои данные в такой форме:

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() говорит мне, что обе переменные одинаковы class:<class 'numpy.ndarray'>

Ответы [ 3 ]

0 голосов
/ 27 февраля 2019

У вас есть (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]]
0 голосов
/ 27 февраля 2019

Спасибо за помощь.Это сработало.Моя настоящая проблема заключалась в том, что я не понимал различий между группами в тот момент.Спасибо

0 голосов
/ 27 февраля 2019

Я думаю, вы ищете атрибут .flat вашего массива.Если это не совсем то, что вы ищете, посмотрите на этот вопрос для других идей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...