2016-08-27 2 views
0

Я работаю с машинным обучением и numpy и имею проблемы с функцией np.reshape(). Мои размеры данных читаются в переменной консоли как Dataframe (22,5), x (21,4), x_lately (1,4), y (22,). Я попытался изменения формы их np.reshape(22,5), так что размер dataframe и он дает мне эту ошибку:Python numpy reshape issues

ValueError: total size of new array must be unchanged

Я полагаю, я либо не понимая, что-то или что-то не так с моей системой.

Заранее спасибо.

+0

Какой набор данных вы пытаетесь изменить? И можете ли вы уточнить, что у вас есть 4 разных набора данных? – putonspectacles

+0

Ваша операция изменения может быть невозможной, потому что вы не можете просто изменить общий ввод DataFrame. Например, для (3,5) DataFrame вы можете изменить его на (5,3), (15,1) или (1,15) DataFrame, а не (3,3) или (5,5) DataFrame. –

+0

Здравствуйте, у меня есть только один набор данных, я полагаю, что я должен изменить форму (21,4) на (22)? – Bolajio

ответ

0

Вам действительно нужно лучше описать ваши данные.

Я могу представить себе кусочки, уместно вместе:

Dataframe(22,5), x(21,4),x_lately(1,4), y(22,) 

dataframe имеет 22 строк, 5 столбцов. y может быть одной колонкой (22 элемента). x может быть больше всего из 4 других столбцов, а x_lately остальная часть x.

Вы не описываете, как x, y, x_lately связаны с dataframe, хотя, похоже, они могут быть массивы, извлеченных из него (либо в виде копий или представлений). В любом случае они не могут быть reshaped в соответствии с размером кадра данных. В лучшем случае это части данных.

reshape не имеет размера или ширины или прокладки или что-то в этом роде. Вы даже не объясняете, почему хотите изменить что-либо.

+0

Я хочу изменить форму, потому что я получил эту ошибку: ValueError: найденные массивы с непоследовательным числом образцов: [21 22], я искал ошибку и пришел к выводу, что мне нужно изменить форму. Кроме того, x, y - все из одного массива данных/массивов из фреймворка данных. x_lately - это прогноз. – Bolajio

+0

Вы не можете переделать из 21 образца в 22. Это не изменение. Это дополнение. Вам/нам нужно посмотреть на эту оригинальную ошибку. – hpaulj

+0

Получил это, чтобы я попробовал прокладку, выясняя, как это сделать. – Bolajio