Простой Python. современный стиль программирования - читать онлайн бесплатно полную версию книги . Страница 323

(2, 5)

>>> a.size

10

Вы можете изменять форму массива разными способами:

>>> a = a.reshape(5, 2)

>>> a

array([[0, 1],

[2, 3],

[4, 5],

[6, 7],

[8, 9]])

>>> a.ndim

2

>>> a.shape

(5, 2)

>>> a.size

10

Присваиваем кортеж, указывающий параметры формы, атрибуту shape:

>>> a.shape = (2, 5)

>>> a

array([[0, 1, 2, 3, 4],

[5, 6, 7, 8, 9]])

418

Приложение В. Py в науке

Единственное ограничение — произведение рангов должно быть равным коли-

честву значений (в нашем случае 10):

>>> a = a.reshape(3, 4)

Traceback (most recent call last):

File "<stdin>", line 1, in <module>

ValueError: total size of new array must be unchanged

Получаем элемент

с помощью конструкции []

Одномерный массив работает как список:

>>> a = np.arange(10)

>>> a[7]

7

>>> a[-1]

9

Но если массив имеет другую форму, используйте индексы, разделенные за-

пятыми:

>>> a.shape = (2, 5)

>>> a

array([[0, 1, 2, 3, 4],

[5, 6, 7, 8, 9]])

>>> a[1,2]

7

Это отличается от двухмерного списка:

>>> l = [ [0, 1, 2, 3, 4], [5, 6, 7, 8, 9] ]

>>> l

[[0, 1, 2, 3, 4], [5, 6, 7, 8, 9]]