Объекты-массивы Numeric используют расширенный синтаксис выделения среза.Следующие примеры иллюстрируют различные варианты записи срезов.Функция 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Объекты-массивы Numeric используют расширенный синтаксис выделения среза.Следующие примеры иллюстрируют различные варианты записи срезов.Функция

Поиск

(15,)

>>> print a

 

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


 


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

>>> print a.shape (3, 5)

>>> print a

[[

4]

[

9]

[10 11

14]]

 

Методы массивов

 

Придать нужную форму массиву можно функцией Numeric.reshape().Эта функция сразу создает объект-массив нужной формы из последовательности.

 

>>> import Numeric

>>> print Numeric.reshape("абракадабр", (5, -1)) [[а б] [р а] [к а] [д а] [б р]]

В этом примере -1 в указании формы говорит о том,что соответствующее значение можно вычислить.Общее количество элементов массива известно(10),поэтому длину вдоль одной из размерностей задавать не обязательно.

 

Через атрибут flat можно получить одномерное представление массива:

 

>>> a = array([[1, 2], [3, 4]])

>>> b = a.flat

>>> b

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

>>> b[0] = 9

>>> b

 

array([9, 2, 3, 4])

 

>>> a array([[9, 2],

 

[3, 4]])

 

Следует заметить,что это новый вид того же массива,поэтому присваивание значений его элементам приводит к изменениям в исходном массиве.

 

Функция Numeric.resize()похожа на Numeric.reshape,но может подстраивать число элементов:

 

>>> print Numeric.resize("NUMERIC", (3, 2)) [[N U]

[M E] [R I]]

>>> print Numeric.resize("NUMERIC", (3, 4)) [[N U M E]

[R I C N] [U M E R]]

 

Функция Numeric.zeros() порождает массив из одних нулей,а Numeric.ones()-из одних единиц.Единичную матрицу можно получить с помощью функции Numeric.identity(n):

 

>>> print Numeric.zeros((2,3)) [[0 0 0] [0 0 0]]

>>> print Numeric.ones((2,3)) [[1 1 1] [1 1 1]]



>>> print Numeric.identity(4) [[1 0 0 0] [0 1 0 0] [0 0 1 0] [0 0 0 1]]

 

 

Для копирования массивов можно использовать метод copy():

 

>>> import Numeric

>>> a = Numeric.arrayrange(9)

>>> a.shape = (3, 3)

>>> print a

 

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

>>> a1 = a.copy()

>>> a1[0, 1] = -1 # операция над копией

>>> print a

 

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

 

Массив можно превратить обратно в список с помощью метода tolist():

 

>>> a.tolist()

 

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

 

Срезы

 

Numeric.arrayrange() является аналогом range() для массивов.

 

>>> import Numeric

>>> a = Numeric.arrayrange(24) + 1

>>> a.shape = (4, 6)



Поделиться:


Последнее изменение этой страницы: 2024-06-27; просмотров: 11; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.117.165.239 (0.007 с.)