Рубрики
Без рубрики

np.shape ()

Это руководство объясняет функцию FOMPY () NUMPY. numpy.shape (a) Вернуть форму массива или Array_like Object A. ArgumentData Typedescriptionaarray_Likenumpy Array или Python List, для которого должна быть возвращена форма. Если это Numpy Array, он возвращает атрибут A.Shape. Если это список Python, он возвращает кортеж целочисленных значений, определяющих … np.shape () Подробнее »

Автор оригинала: Chris.

Это руководство объясняет Numpy’s Форма () функция.

numpy.shape(a)

Вернуть форму массива или Array_Like объект А Отказ

a array_like. Numpy Array или Python список, для которых форма должна быть возвращена. Если это Numpy Array, он возвращает атрибут A.Shape. Если это список Python, он возвращает кортеж целочисленных значений, определяющих количество элементов в каждом измерении, если вы бы создали от него Numpy Array.

Возвращаемое значение : Форма – кортеж целых чисел, которые устанавливаются на длину соответствующих измерений массива.

Примеры

Простой пример применительно применительно к массиву NUMPY:

>>> import numpy as np
>>> a = np.array([[1, 2], [3, 4]])
>>> np.shape(a)
(2, 2)

Вы импортируете Numpy Library и создаете двумерный массив из списка списков. Если вы передаете множество массива в функцию формы, она возвращает кортеж с двумя значениями). Каждое измерение хранит количество элементов в этом измерении). Как это квадратичная матрица 2 × 2, результат (2,2).

Следующая форма является еще одним примером многомерного массива:

>>> b = np.array([[1, 2, 3, 4], [5, 6, 7, 8]])
>>> b
array([[1, 2, 3, 4],
       [5, 6, 7, 8]])
>>> b.shape
(2, 4)
>>> np.shape(b)
(2, 4)

Форма сейчас (2, 4) с двумя рядами и четырьмя колоннами.

np.shape () vs array.shape

Обратите внимание, что результат np.shape (b) и B.shape одинаково, если B это небольшой массив. Если B Разве немаловая массива не в списке, вы не можете использовать B.shape В качестве списков нет атрибута формы. Давайте посмотрим на этот пример:

>>> b = [[1, 2, 3, 4], [5, 6, 7, 8]]
>>> np.shape(b)
(2, 4)

np.shape () Функция возвращает одинаковую форму кортежа – даже если вы передаете вложенный список в функцию вместо Numpy Array.

Но если вы попытаетесь получить доступ к списку .shape Атрибут, numpy бросает следующую ошибку:

>>> b.shape
Traceback (most recent call last):
  File "", line 1, in 
    b.shape
AttributeError: 'list' object has no attribute 'shape'

Итак, разница между np.shape () и Array.shape Это то, что первое можно использовать для всех видов Array_Like Объекты, в то время как последний можно использовать только для применения ToMpy с Форма атрибут.

Рекомендация Numpy Форма

Атрибут формы всегда возвращает кортеж, который сообщает нам длину каждого измерения. Одномерный массив представляет собой вектор строки, и его форма – это одно значение, которое следует запястья. Одномерные массивы не имеют строк и столбцов, поэтому атрибут формы возвращает отдельный кортеж.

Давайте посмотрим на пример:

import numpy as np

#an one-dimensional NumPy array
arr = np.arange(10)

#print an array
print(arr)
# [0 1 2 3 4 5 6 7 8 9]

print(arr.shape)
# (10, )

Кодовый фрагмент также использует Numpy arange Функция для создания начального массива последующих значений от 0 до 9. Пожалуйста, найдите подробное обсуждение Numpy arange Функция в этом блоге Finxter Blog: https://blog.finxter.com/numpy-arange/ Отказ

Атрибут формы двумерного массива (также называемого матрицей) дает нам кортеж. Форма возвращает количество элементов вдоль каждого измерения, которое является количеством рядов и столбцов в двухмерном массиве.

# A two-dimensional NumPy array
import numpy as np

arr = np.array([[1,2,3,4,5], [5,4,3,2,1]])
print(arr.shape)
# (2, 5)

В следующем примере для формы трехмерных массивов.

# A three-dimensional array
import numpy as np

arr = np.array([ [ [0, 11, 15, 16], [3, 7, 10, 34], [44, 99, 5, 67] ],[ [52, 8, 11, 13], [0, 4, 5, 6], [4, 4, 4, 4] ] ])
print(arr.shape)
# (2, 3, 4)

Требуется некоторая практика, чтобы понять кортеж формы для многомерных массивов. Размеры, представленные кортежом, читаются из наружу. Если вы соблюдаете скобки, самый простой кронштейн является частью основного синтаксиса для всего массива. В форме кортежа 2 представляет собой второй набор скобок. Если вы считаете их, вы увидите, что в этом измерении есть 2 элемента.

1-й элемент [0, 11, 15, 16], [3, 7, 10, 34], [44, 99, 5, 67]]]

2-й элемент [[52, 8, 11, 13], [0, 4, 5, 6], [4, 4, 4, 4]]

Каждый элемент содержит еще 3 элемента во втором измерении. Если вы думаете о вложенных списках, вы можете нарисовать аналогию. Эти элементы:

1-й элемент [0, 11, 15, 16]

2-й элемент [3, 7, 10, 34]

3-й элемент [ 44, 99, 5, 67]

Наконец, номер 4 представляет количество элементов в третьем измерении. Это самые внутренние элементы. Например 0, 11, 15 и 16.

Вы хотите стать Numpy Master? Проверьте нашу интерактивную книгу головоломки Coffe Break Numpy И повысить свои навыки науки о данных! (Ссылка Amazon открывается на новой вкладке.)

использованная литература

Работая в качестве исследователя в распределенных системах, доктор Кристиан Майер нашел свою любовь к учению студентов компьютерных наук.

Чтобы помочь студентам достичь более высоких уровней успеха Python, он основал сайт программирования образования Finxter.com Отказ Он автор популярной книги программирования Python One-listers (Nostarch 2020), Coauthor of Кофе-брейк Python Серия самооставленных книг, энтузиаста компьютерных наук, Фрилансера и владелец одного из лучших 10 крупнейших Питон блоги по всему миру.

Его страсти пишут, чтение и кодирование. Но его величайшая страсть состоит в том, чтобы служить стремлению кодер через Finxter и помогать им повысить свои навыки. Вы можете присоединиться к его бесплатной академии электронной почты здесь.