Проблема в изменении массива больших размеров - PullRequest
0 голосов
/ 21 октября 2018

У меня есть пустой массив со следующими размерами:

(1611216, 2)

Я попытался изменить его на (804, 2004)

, используя:

df = np.reshape(df, (804, 2004))

но выдает ошибку:

Traceback (most recent call last):
  File "Z:/Seismic/Geophysical/99_Personal/Abhishake/RMS_Machine_learning/RMS_data_analysis.py", line 19, in <module>
    df = np.reshape(df, (804, 2004))
  File "C:\python36\lib\site-packages\numpy\core\fromnumeric.py", line 232, in reshape
    return _wrapfunc(a, 'reshape', newshape, order=order)
  File "C:\python36\lib\site-packages\numpy\core\fromnumeric.py", line 57, in _wrapfunc
    return getattr(obj, method)(*args, **kwds)
ValueError: cannot reshape array of size 3222432 into shape (804,2004)

df = np.reshape (df, (804, 2004))

но выдает ошибку: Traceback (большинствопоследний вызов последний): файл "Z: /Seismic/Geophysical/99_Personal/Abhishake/RMS_Machine_learning/RMS_data_analysis.py", строка 19, в файле df = np.reshape (df, (804, 2004)), файл "C: \ python36 \lib \ site-packages \ numpy \ core \ fromnumeric.py ", строка 232, в форме возврата, возвращает _wrapfunc (a, 'изменить форму', форму новостей, order = order) Файл" C: \ python36 \ lib \ site-packages \ numpy \ "core \ fromnumeric.py ", строка 57, в _wrapfunc возвращает getattr (obj, метод) (* args, ** kwds) ValueError: невозможно преобразовать массив размера 3222432 в форму (804,2004)

1 Ответ

0 голосов
/ 21 октября 2018

Нельзя преобразовать (1611216, 2) массив numpy в (804, 2004).

Это потому, что 1611216 x 2 = 3222432 и 804 x 2004 = 1 611 216.Разница в размере двух массивов очень велика.Я думаю, что вам нужно придумать другой набор измерений для вашего массива numpy, и это будет зависеть от того, как вы хотите использовать этот массив.

Подсказка: (1608, 2004) будет корректным изменением формы.

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