>>> 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]]