Самый простой способ объяснить функцию numpy.reshape()

искусственный интеллект

Функция reshape(): ****Этот метод предназначен для изменения формата массива без изменения содержимого данных.Параметры следующие:

Описание параметра:

а: входной массив.

newshape: Форма массива в новом формате.

порядок: необязательный диапазон: {'C', 'F', 'A'}. Прочитайте элементы a по порядку и поместите элементы в преобразованный массив в порядке индекса. Если параметр порядка не установлен, параметр по умолчанию — C.

Параметр C: чтение по горизонтали, запись по горизонтали, чтение/запись первой строки.

Параметр F: читать по вертикали, писать по вертикали, сначала читать/записывать один столбец.

Параметр A: Эффект сгенерированного массива связан с методом хранения данных исходного массива а. Если данные соответствуют FORTRAN

Он создает тот же эффект, что и «F», если сохранен, и такой же, как «C», в противном случае.

Возвращаемое значение: вновь сгенерированный массив

 

Пример 1. Преобразование одномерного массива в двумерный массив 2×8.

import numpy as np

a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
a = np.asarray(a)
b = np.reshape(a, (2, 8))
print(b)

#或者这样写

a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]

a = np.asarray(a)

b = a.reshape((2, 8))

print(b)

 

Два метода записи работают одинаково, и рабочий результат:

[[ 0  1  2  3  4  5  6  7]

 [ 8  9 10 11 12 13 14 15]]

Пример 2: Установите порядок F.

import numpy as np



a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]

a = np.asarray(a)

b = np.reshape(a, (2, 8), order='f')

print(b)

c=np.reshape(b,(4,4),order='f')

print(c)

результат операции:

Пример 3: Установить порядок на

В первом случае измените порядок на c при изменении формы массива a и установите порядок на a при изменении формы массива b. Код выглядит следующим образом:

import numpy as np



a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]

a = np.asarray(a)

b = np.reshape(a, (2, 8), order='C')

print(b)

x=np.reshape(b,(4,4),order='a')

print(x)

результат операции:

Можно обнаружить, что если массив b изменить в соответствии с C, x также изменится в соответствии с C.

Во втором случае измените порядок на F при изменении формы массива а и установите порядок на а при изменении формы массива б. Код выглядит следующим образом:

import numpy as np



a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]

a = np.asarray(a)

b = np.reshape(a, (2, 8), order='F')

print(b)

x=np.reshape(b,(4,4),order='a')

print(x)

результат операции:

Можно обнаружить, что если массив b изменить в соответствии с F, x также изменится в соответствии с F.