Я новичок с Python, а также с Numpy.

У меня есть этот код:

one_array.shape

Когда я запускаю его, я получаю этот вывод:

(20, 48, 240, 240)

one_array - массив Numpy, имеющий 20 изображений.

Что означают остальные три числа в выводе формы (48, 240, 240)?

1
VansFannel 19 Дек 2019 в 17:05

4 ответа

Вы правы, вы можете думать о one_array как о массиве с 20 элементами, в котором есть элемент в другом массиве с формой (48, 240, 240). Однако обычно лучше думать, что one_array - это 4-мерный массив, который имеет в общей сложности 20x48x240x240 = 55296000 элементов.

0
Diego Palacios 19 Дек 2019 в 14:10

Ваш массив состоит из 20 изображений, каждое из которых имеет размер 48X240X240. Что странно, я ожидаю, что это будет что-то вроде 240X240X3, но по какой-то причине у вас гораздо больше каналов (имеется в виду RGB). ]

Таким образом, функция shape возвращает размер измерения вдоль каждой оси (текущая форма всего массива), поэтому в вашем случае есть (20, 48, 240, 240)

< Сильный > Edit:

Как сказал пользователь, каждое изображение состоит из 48 изображений NITFY канала 1, которые объясняют вывод shape

2
David S 19 Дек 2019 в 14:23

one_array.shape == (20, 48, 240, 240) означает, что one_array является 4-мерным массивом с 20*48*240*240 или 55296000 элементов.

0
9mat 19 Дек 2019 в 14:09

Представьте, что ваш Numpy Array является вектором, который может находиться в одном измерении, но в вашем случае он выглядит так, как будто он находится в измерении 4. (20, 4, 240, 240) означает большую матрицу, состоящую из 20 x 4 x 240 x 240 элементов ,

0
phoenixo 19 Дек 2019 в 14:08