Python arrays: create, reverse, pop with python array examples

Содержание:

Заметили, что вам не нужно импортировать модуль array?

Этот синтаксис объявляет список под названием cars. В квадратных скобках объявляется каждый элемент списка. Каждый элемент является строкой, поэтому их объявляют внутри кавычек. Python знает, что это объект, поэтому оператор print выводит содержимое списка:

print cars

Как и в случае с массивом, можно осуществлять Python сортировку массива с помощью циклов:

for car in cars:
    print car

Настоящий фокус со списками — их смешанный тип. Добавьте дополнительные данные:

cars = 

Это даже не вызвало исключения:

Также просто добавить новые элементы в список (что невозможно с массивами):

cars = 
print cars
cars.append('Lancia')
print cars

Можно объединить два списка в один:

cars = 
print cars
other_cars = 
cars.extend(other_cars)
print cars

Также легко удалить элементы Python ассоциативного массива, используя синтаксис remove:

cars = 
print cars
cars.remove('Ford')
print cars

Из списка в массивы

В общем, я рекомендую загружать ваши данные из файла с помощью функций Pandas или даже NumPy.

Для примера, смотрите пост:

Как загрузить данные машинного обучения в Python

В этом разделе предполагается, что вы загрузили или сгенерировали свои данные другими способами, и теперь они представлены в виде списков Python.

Давайте посмотрим на преобразование ваших данных в списках в массивы NumPy.

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

Вы можете загрузить свои данные или сгенерировать свои данные и иметь доступ к ним в виде списка.

Вы можете преобразовать одномерный список данных в массив, вызвав функцию array () NumPy.

Выполнение примера преобразует одномерный список в массив NumPy.

Двумерный список списков для массива

В машинном обучении более вероятно, что у вас будут двумерные данные.

Это таблица данных, в которой каждая строка представляет новое наблюдение, а каждый столбец — новую особенность.

Возможно, вы сгенерировали данные или загрузили их, используя собственный код, и теперь у вас есть список списков. Каждый список представляет новое наблюдение.

Вы можете преобразовать свой список списков в массив NumPy так же, как описано выше, вызвав функцию array ().

Выполнение примера показывает, что данные успешно преобразованы.

Алгоритм MergeSort

Алгоритм использует восходящий подход Divide and Conquer, сначала разделяя исходный массив на подмассивы, а затем объединяя индивидуально отсортированные подмассивы, чтобы получить окончательный отсортированный массив.

В приведенном ниже фрагменте кода метод выполняет фактическое разделение на подмассивы, а метод perform_merge() объединяет два ранее отсортированных массива в новый отсортированный.

import array

def mergesort(a, arr_type):
    def perform_merge(a, arr_type, start, mid, end):
        # Merges two previously sorted arrays
        # a and a
        tmp = array.array(arr_type, )
        def compare(tmp, i, j):
            if tmp <= tmp:
                i += 1
                return tmp
            else:
                j += 1
                return tmp
        i = start
        j = mid + 1
        curr = start
        while i<=mid or j<=end:
            if i<=mid and j<=end:
                if tmp <= tmp:
                    a = tmp
                    i += 1
                else:
                    a = tmp
                    j += 1
            elif i==mid+1 and j<=end:
                a = tmp
                j += 1
            elif j == end+1 and i<=mid:
                a = tmp
                i += 1
            elif i > mid and j > end:
                break
            curr += 1


    def mergesort_helper(a, arr_type, start, end):
        # Divides the array into two parts
        # recursively and merges the subarrays
        # in a bottom up fashion, sorting them
        # via Divide and Conquer
        if start < end:
            mergesort_helper(a, arr_type, start, (end + start)//2)
            mergesort_helper(a, arr_type, (end + start)//2 + 1, end)
            perform_merge(a, arr_type, start, (start + end)//2, end)


    # Sorts the array using mergesort_helper
    mergesort_helper(a, arr_type, 0, len(a)-1)

Прецедент:

a = array.array('i', )
print('Before MergeSort ->', a)
mergesort(a, 'i')
print('After MergeSort ->', a)

Вывод:

Before MergeSort -> array('i', )
After MergeSort -> array('i', )

Вопрос 11. Как работает функция range?

Сложность: (ー_ー)

Функция range() генерирует три разных вида последовательностей из целых чисел и часто используется для быстрого создания списков — поэтому этот вопрос и попал в нашу подборку. Да и объяснять работу функции удобнее всего именно с помощью списка.

Последовательность от нуля до n

Используется range(n):

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

Попробуйте передать в range() отрицательное (-7) или дробное (3.14) число. Получится ли какой-нибудь список из этого, и если да, то какой?

Последовательность от n до m

Здесь в функцию range() нужно передать уже два аргумента: тогда range(n, m) сгенерирует целые числа от n до m (исключая m):

Последовательность от n до m с шагом k

Если в функцию range() передать три аргумента n, m, k, то она снова создаст последовательность от n до m (снова исключая m), но уже с шагом k:

Операторы array

4.1. Арифметические операции  c массивами в Python

Арифметические операции с array выполняются поэлементно, то есть применяются к каждому элементу массива. Пример, если мы умножаем  массив на 3, то каждый элемент будет умножен на 3. Так же и с остальными арифметическими операциями.

>>> import numpy as np
>>> numbers_1 = np.array(, ])
>>> numbers_1 * 3array(,
       ])
>>> numbers_1 ** 3array(,
       ], dtype=int32)
>>> numbers_1array(,
       ])

Важно, что при арифметических операциях, возвращается новая коллекция array, исходный массив numbers_1 не изменяется. А вот расширенное присваивание изменяет каждый элемент левого операнда:

А вот расширенное присваивание изменяет каждый элемент левого операнда:

>>> import numpy as np
>>> numbers_1 = np.array(, ])
>>> numbers_1 += 10
>>> numbers_1array(,
       ])

4.2. Арифметические операции между коллекциями array

С коллекциями array можно выполнять арифметические операции, если они имеют одинаковые размеры. Результатом будет новая коллекция array:

>>> import numpy as np
>>> numbers_1 = np.array(, ])
>>> numbers_2 = np.array(, ])
>>> numbers_1 * numbers_2array(,
       ])
>>> numbers_1 — numbers_2array(,
       ])

4.3. Сравнение коллекция array

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

>>> import numpy as np
>>> numbers_1 = np.array()
>>> numbers_2 = np.array()
>>> numbers_1 > numbers_2array()
>>> numbers_1 == numbers_2array()
>>> numbers_1 >= 5array()

В результате сравнений создаются коллекции array с логическими значениями ( True или False), каждое из которых означает результат сравнения каждого элемента.

Please enable JavaScript to view the comments powered by Disqus.

Объект массива NumPy

Чтобы объявить объект массива numpy, мы сначала импортируем библиотеку , после чего создаем экземпляр нашего вновь созданного массива с помощью функции library.

Приведенный ниже фрагмент объявляет простой 1-мерный массив numpy:

>>> import numpy as np
>>> a = np.array()
>>> print(a)

Каждый массив имеет следующие атрибуты:

  • (количество измерений)
  • (размер каждого измерения)
  • (общий размер массива)
  • (тип данных массива)

Элементы массива NumPy имеют один и тот же тип данных, в отличие от списков Python . В результате мы не можем заставить один массив numpy содержать несколько различных типов данных.

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

# Declare a 2-Dimensional numpy array
b = np.array(, ])
print("b -> ndim:", b.ndim)
print("b -> shape:", b.shape)
print("b -> size:", b.size)
print("b -> dtype:", b.dtype)

Выход:

b -> ndim: 2
b -> shape: (2, 3)
b -> size: 6
b -> dtype: dtype('int64')

Добавить столбец

Мы можем использовать метод append() NumPy для вставки столбца.

Рассмотрим пример ниже, где мы создали 2-мерный массив и вставили два столбца:

a = numpy.array(, ])

b = numpy.array(, ])

newArray = numpy.append(a, b, axis = 1)

Если атрибут оси не используется, вывод будет выглядеть следующим образом:

Именно так структура массива выравнивается.

В NumPy мы также можем использовать метод insert() для вставки элемента или столбца. Разница между методом insert() и методом append() заключается в том, что мы можем указать, по какому индексу мы хотим добавить элемент при использовании метода insert (), но метод append() добавляет значение в конец массива.

Рассмотрим пример ниже:

a = numpy.array()

newArray = numpy.insert(a, 1, 90)

Здесь метод insert() добавляет элемент с индексом 1. Помните, что индекс массива начинается с 0.

Ways to print NumPy Array in Python

As mentioned earlier, we can also implement arrays in Python using the NumPy module. The module comes with a pre-defined array class that can hold values of same type.

These NumPy arrays can also be multi-dimensional. So, let us see how can we print both 1D as well as 2D NumPy arrays in Python.

Using print() method

Similar to the case of arrays implemented using lists, we can directly pass NumPy array name to the method to print the arrays.

import numpy as np

arr_2d = np.array(,,])
arr = np.array()

print("Numpy array is: ", arr) #printing the 1d numpy array

print("Numpy 2D-array is: ", arr_2d) #printing the 2d numpy array

Output:

Numpy array is:  
Numpy 2D-array is:  
 
 ]

Here, and are one 1D and one 2D NumPy arrays respectively. We pass their names to the method and print both of them. Note: this time also the arrays are printed in the form of NumPy arrays with brackets.

Using for loops

Again, we can also traverse through NumPy arrays in Python using loop structures. Doing so we can access each element of the array and print the same. This is another way to print an array in Python.

Look at the example below carefully.

import numpy as np

arr = np.array()
arr_2d = np.array(,,,])

#printing the numpy array
print("The Numpy Array is : ")
for i in arr:
    print(i, end = ' ')

#printing the numpy 2D-Array
print("\nThe Numpy 2D-Array is:")
for i in arr_2d:
    for j in i:
        print(j, end=" ")
    print()

Output:

The Numpy Array is : 
11 22 33 44 
The Numpy 2D-Array is:
90 20 
76 45 
44 87 
73 81

Here also we print the NumPy array elements in our desired way(without brackets) by accessing the elements of the 1D and 2D array individually.

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

Python имеет набор встроенных методов, которые вы можете использовать для списков / массивов.

Метод Описание
append() Добавляет элемент в конец списка
clear() Удаляет все элементы из списка
copy() Возвращает копию список
count() Возвращает количество элементы с указанным значением
extend() Добавьте элементы список (или любой итерируемый) до конца текущего списка
index() Возвращает индекс первый элемент с указанным значением
insert() Добавляет элемент в указанная позиция
pop() Удаляет элемент в указанная позиция
remove() Удаляет первый элемент с указанным значением
reverse() Изменяет порядок списка
sort() Сортирует список

Массив нарезки в Python с методом ломтика ()

Способ в Python возвращает последовательность индексов, начиная от Начать к Стоп-1 с данным шаг значение.

Похоже на предыдущие случаи, здесь также значения по умолчанию начать и остановки равно 0, а этап равен 1.

import array
import numpy as np

#array initialisation
array_arr = array.array('i',)
np_arr = np.array()

s = slice(3,9,3)

#slicing array with slice()
print("Sliced array: ", array_arr)
print("Sliced NumPy array: ", np_arr)

Выход :

Sliced array:  array('i', )
Sliced NumPy array:  

Здесь, во-первых, мы инициализировали две массивы, один из модуль и другой от модуль. Метод называется с запуском, остановкой и шагом, упомянутым как 3 , 9 и 3 соответственно. Следовательно, когда мы передаем эту последовательность Для массивов мы получаем нарезанные массивы со значениями, содержащими элементы по индексам 3 и 6 Отказ

Следовательно, вывод оправдан.

Примечание : Всегда оригинальный массив сохраняется неповрежденным и остается нетронутым. При необходимости нарезанный массив может храниться в некоторой переменной.

Преобразовать список списков с разным количеством элементов

Проблема : Учитывая Список списков Отказ Внутренние списки имеют различное количество элементов. Как преобразовать их в Numpy Array?

Пример : Скажем, у вас есть следующий список списков:

, , ]

Каковы различные подходы для преобразования этого списка списков в Numpy Array?

Решение : Есть три разных стратегиях, которые вы можете использовать. ( Источник )

(1) Используйте стандарт np.array () функция.

# Import the NumPy library
import numpy as np

# Create the list of lists
lst = , , ]

# Convert it to a NumPy array
a = np.array(lst)

# Print the resulting array
print(a)
'''
) list() list()]
'''

Это создает Numpy Array с тремя элементами – каждый элемент – это тип списка. Вы можете проверить тип вывода, используя встроенный Функция:

>>> type(a)

(2) Сделайте массив массивов.

# Import the NumPy library
import numpy as np

# Create the list of lists
lst = , , ]

# Convert it to a NumPy array
a = np.array()

# Print the resulting array
print(a)
'''
) array() array()]
'''

Это более логично, чем предыдущая версия, потому что она создает Numpy Array 1D Numpy Armays (а не 1D списков Python).

(3) Сделайте списки равными по длине.

# Import the NumPy library
import numpy as np

# Create the list of lists
lst = , , ]

# Calculate length of maximal list
n = len(max(lst, key=len))

# Make the lists equal in length
lst_2 = *(n-len(x)) for x in lst]
print(lst_2)
# , , ]

# Convert it to a NumPy array
a = np.array(lst_2)

# Print the resulting array
print(a)
'''

 
 ]
'''

Вы используете Понимание списка на «подушку» Значения каждому внутреннему списку с меньшей максимальной длины.

Объединение массивов

Мы можем легко объединить любые два массива, используя символ +.

Пример

 
a=arr.array('d',) 
b=arr.array('d',) 
c=arr.array('d') 
c=a+b 
print("Array c = ",c) 

Выход:

Array c= array('d', ) 

Объяснение

В приведенном выше примере мы определили переменные с именами «a, b, c», которые содержат значения массива.

Пример

 
import array as arr 
x = arr.array('i', ) 
print("First element:", x) 
print("Second element:", x) 
print("Second last element:", x) 

Выход:

First element: 4 
Second element: 7 
Second last element: 22 

Объяснение: Мы импортировали массив и определили переменную с именем «x», которая содержит значение массива, а затем напечатали элементы, используя индексы.

Изучаю Python вместе с вами, читаю, собираю и записываю информацию опытных программистов.

Использование sorted() для итерируемых объектов Python

Python использует несколько чрезвычайно эффективных алгоритмов сортировки. Например, метод использует алгоритм под названием Timsort (который представляет собой комбинацию сортировки вставкой и сортировки слиянием) для выполнения высокооптимизированной сортировки.

С помощью этого метода можно отсортировать любой итерируемый объект Python, например список или массив.

import array

# Declare a list type object
list_object = 

# Declare an integer array object
array_object = array.array('i', )

print('Sorted list ->', sorted(list_object))
print('Sorted array ->', sorted(array_object))

Вывод:

Sorted list -> 
Sorted array -> 

Массив нарезки

Все идет нормально; Создание и индексация массивов выглядит знакомо.

Теперь мы подошли к нарезке массивов, и это одна из функций, которая создает проблемы для начинающих массивов Python и NumPy.

Структуры, такие как списки и массивы NumPy, могут быть нарезаны. Это означает, что подпоследовательность структуры может быть проиндексирована и извлечена.

Это наиболее полезно при машинном обучении при указании входных и выходных переменных или разделении обучающих строк из строк тестирования.

Нарезка задается с помощью оператора двоеточия ‘:’ с ‘от’ а также ‘в‘Индекс до и после столбца соответственно. Срез начинается от индекса «от» и заканчивается на один элемент перед индексом «до».

Давайте рассмотрим несколько примеров.

Одномерная нарезка

Вы можете получить доступ ко всем данным в измерении массива, указав срез «:» без индексов.

При выполнении примера печатаются все элементы в массиве.

Первый элемент массива можно разрезать, указав фрагмент, который начинается с индекса 0 и заканчивается индексом 1 (один элемент перед индексом «до»)

Выполнение примера возвращает подмассив с первым элементом.

Мы также можем использовать отрицательные индексы в срезах. Например, мы можем нарезать последние два элемента в списке, начав срез с -2 (второй последний элемент) и не указав индекс «до»; это берет ломтик до конца измерения.

Выполнение примера возвращает подмассив только с двумя последними элементами.

Двумерная нарезка

Давайте рассмотрим два примера двумерного среза, которые вы, скорее всего, будете использовать в машинном обучении.

Разделение функций ввода и вывода

Распространено загруженные данные на входные переменные (X) и выходную переменную (y).

Мы можем сделать это, разрезая все строки и все столбцы до, но перед последним столбцом, затем отдельно индексируя последний столбец.

Для входных объектов мы можем выбрать все строки и все столбцы, кроме последнего, указав ‘:’ в индексе строк и: -1 в индексе столбцов.

Для выходного столбца мы можем снова выбрать все строки, используя ‘:’, и индексировать только последний столбец, указав индекс -1.

Собрав все это вместе, мы можем разделить 3-колоночный 2D-набор данных на входные и выходные данные следующим образом:

При выполнении примера печатаются разделенные элементы X и y

Обратите внимание, что X — это двумерный массив, а y — это одномерный массив

Сплит поезд и тестовые ряды

Обычно загруженный набор данных разбивают на отдельные наборы поездов и тестов.

Это разделение строк, где некоторая часть будет использоваться для обучения модели, а оставшаяся часть будет использоваться для оценки мастерства обученной модели.

Для этого потребуется разрезать все столбцы, указав «:» во втором индексе измерения. Набор обучающих данных будет содержать все строки от начала до точки разделения.

Тестовым набором данных будут все строки, начиная с точки разделения до конца измерения.

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

При выполнении примера выбираются первые две строки для обучения и последняя строка для набора тестов.

Массив Python

Python поддерживает все операции, связанные с массивом через объект своего списка. Начнем с одномерного инициализации массива.

Пример массива Python

Элементы массива Python определены в скобках И они разлучены запятыми. Ниже приведен пример объявления одномерного массива Python.

arr = 
print (arr)
print (arr)
print (arr)

Выход из двухмерного массива пример программы будет:


3
5

Индексирование массива начинается от 0. Таким образом, значение индекса 2 переменной ARR составляет 3.

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

Но Python дает нам гибкость иметь различные данные данных в том же массиве. Это круто, верно? Давайте посмотрим пример.

student_marks = 
marks = student_marks+student_marks
print(student_marks + ' has got in total = %d + %f = %f ' % (student_marks, student_marks, marks ))

Он дает следующий выход:

Akkas has got in total = 45 + 36.500000 = 81.500000 marks

В приведенном выше примере вы можете увидеть это, Массив имеют три типа данных – строка, int и float.

Python многомерный массив

Двухмерный массив в Python может быть объявлен следующим образом.

arr2d =  , ]
print(arr2d) # prints elements of row 0
print(arr2d) # prints elements of row 1
print(arr2d) # prints element of row = 1, column = 1

Это даст следующий вывод:

                                                                                                                                                                       
                                                                                                                                                                       
4  

Точно так же мы можем определить трехмерный массив или многомерный массив в Python.

Примеры массива Python

Теперь, когда мы знаем, как определить и инициализировать массив в Python. Мы рассмотрим разные операции, которые мы можем выполнить на массиве Python.

Массив Python, проходящая с использованием для петли

Мы можем использовать для петли для прохождения сквозь элементы массива. Ниже приведен простой пример для цикла для прохождения через массив.

arrayElement = 
for i in range(len(arrayElement)):
   print(arrayElement)

Ниже изображения показывает вывод, создаваемый вышеупомянутым примером примера массива.

Пересекающий 2D-массив, используя для петли

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

arrayElement2D =  ,  ]
for i in range(len(arrayElement2D)):
   print(arrayElement2D)

for i in range(len(arrayElement2D)):
   for j in range(len(arrayElement2D)):
       print(arrayElement2D)

Это выведет:

Python Array Append

arrayElement = 
arrayElement.append('Four')
arrayElement.append('Five')
for i in range(len(arrayElement)):
   print(arrayElement)

Новый элемент четыре и пять будут добавлены в конце массива.

One
2
Three
Four
Five

Вы также можете добавить массив на другой массив. Следующий код показывает, как вы можете сделать это.

arrayElement = 
newArray = 
arrayElement.append(newArray);
print(arrayElement)
]

Теперь наш одномерный массив наращивания превращается в многомерное массив.

Массив Python размер

Мы можем использовать Функция для определения размера массива. Давайте посмотрим на простой пример для длины массива Python.

arr = 

arr2d = ,]

print(len(arr))
print(len(arr2d))
print(len(arr2d))
print(len(arr2d))

Нарезание массива Python

Python предоставляет особый способ создания массива из другого массива, используя нотацию среза. Давайте посмотрим на несколько примеров ломтиков наращиваний Python.

arr = 

#python array slice

arr1 = arr #start to index 2
print(arr1)

arr1 = arr #index 2 to end of arr
print(arr1)

arr1 = arr #start to index 2
print(arr1)

arr1 = arr #copy of whole arr
print(arr1)

arr1 = arr # from index 1 to index 5 with step 2
print(arr1)

Ниже приведены изображение Python Array Slice Program Example.

Мы можем вставить элемент в массиве, используя функция.

arr = 

arr.insert(3,10)

print(arr)

Python Array POP.

Мы можем вызвать функцию POP на массиве, чтобы удалить элемент из массива по указанному индексу.

arr = 

arr.insert(3,10)
print(arr)

arr.pop(3)
print(arr)

Это все о массиве Python и разных операций, которые мы можем выполнить для массивов в Python.

Реверсив массив модуля массива в Python

Несмотря на то, что Python не поддерживает массивы, мы можем использовать Модуль массива Для создания массивных объектов различных типов данных. Хотя этот модуль обеспечивает много ограничений, когда речь идет о типе данных массива, он широко используется для работы с структурами данных массива в Python.

Теперь давайте посмотрим, как мы можем поместить массив в Python, созданный с модулем массива.

1. Использование обратного () метода

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

import array

#The original array
new_arr=array.array('i',)
print("Original Array is :",new_arr)

#reversing using reverse()
new_arr.reverse()
print("Reversed Array:",new_arr)

Выход :

Original Array is : array('i', )
Resultant new reversed Array: array('i', )

2. Использование обратного () метода

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

import array

#The original array
new_arr=array.array('i',)
print("Original Array is :",new_arr)

#reversing using reversed()
res_arr=array.array('i',reversed(new_arr))
print("Resultant Reversed Array:",res_arr)

Выход :

Original Array is : array('i', )
Resultant Reversed Array: array('i', )

How to modify elements?

Arrays in Python are mutable. They can be modified by the following syntax:

Object_name=value; 

Example:

import array as myarr 
a=myarr.array('b',) 
a=99 
print(a) 

Output:

array('b', ) 

We can also perform concatenation operations on arrays in Python.

Example:

import array as myarr 
first = myarr.array('b', ) 
second = myarr.array('b', ) 
numbers = myarr.array('b')   
numbers = first + second 
print(numbers)

Output:

array('b', )   

The above Python array example code concates two variables called “first” and “second”. The result is stored in a variable called “number”.

The last line of code is used to print two arrays.

Атрибуты array

2.1. Определение типа элементов array

Для проверки типа элемента array можно воспользоваться атрибутом dtype:

>>> import numpy as np
>>> numbers_1 = np.array(, ])
>>> numbers_1array(,
       ])
>>> numbers_1.dtypedtype(‘int32’)
>>> numbers_2 = np.array(, ])
>>> numbers_2array(,
       ])
>>> numbers_2.dtypedtype(‘float64’)

В примере есть два массива numbers_1 и numbers_2, с помощью dtype определяем их тип. Так как библиотека NumPy написана на языке C и в ней используется тип данных С. В результате мы получили, что первый массив принадлежит к типу dtype(‘int32’)- целые числа, а второй к типу dtype(‘float64’)- вещественные или числа с плавающей точкой. 

2.2. Определение размерности array

Для определения размерности существует атрибут ndim, который содержит количество измерений array. Атрибут shape содержит кортеж, определяющий размерность array.

>>> import numpy as np
>>> numbers_1 = np.array(, ])
>>> numbers_1.ndim2
>>> numbers_1.shape(2, 3)

В примере numbers_1 состоит из двух строк и трех столбцов.

2.3. Определение количества и размера элементов

Количество элементов в массиве можно получить с помощью атрибута size.

>>> import numpy as np
>>> numbers_1 = np.array(, ])
>>> numbers_1.size6

Количество байтов, необходимое для хранения элементов можно получить из атрибута itemsize.

>>> numbers_1.itemsize4

Для компиляторов C с 32-разрядным int, размер равен 4. Если у вас 64-разрядный, у вас будет равен 8.

2.4. Перебор элементов array

Для перебора многомерной коллекции array можно воспользоваться циклом for: 

>>> import numpy as np
>>> numbers_1 = np.array(, ])
>>> for row in numbers_1:
…     for column in row:
…             print(column, end=’ ‘)
…     print()
…5 7 45
14 7 9

Если вы хотите получить все результаты в одно строку, можно воспользоваться атрибутом flat: 

>>> for i in numbers_1.flat:
…     print(i, end=’ ‘)
…5 7 45 14 7 9 

Please enable JavaScript to view the comments powered by Disqus.

Манипулирование массивами NumPy

NumPy предоставляет метод , который можно использовать для изменения размеров массива numpy и изменения исходного массива на месте. Здесь мы показываем иллюстрацию использования для изменения формы на

>>> c
array()
>>> c.shape
(12,)
>>> c.reshape(4, 3)
array(,
       ,
       ,
       ])

Поскольку операции numpy предназначены для высокой оптимизации, любой подмассив, созданный из массива, по-прежнему содержит ссылку на исходный массив. Это означает, что если подмассив изменяется на месте, исходный массив также изменяется.

>>> f = e
>>> f
array(,
       ,
       ])
>>> f *= 3
>>> f
array(,
       ,
       ])
>>> e
array(,
       ,
       ])

Здесь исходный массив также изменяется при любом изменении среза подмассива . Это связано с тем, что срезы numpy возвращают только представление исходного массива.

Чтобы гарантировать, что исходный массив не будет изменен с помощью каких-либо изменений в срезе подмассива, мы используем метод numpy для создания копии массива и изменения клонированного объекта, вместо того, чтобы иметь дело со ссылкой на исходный объект.

В приведенном ниже фрагменте показано, как решает эту проблему.

>>> e
array(,
       ,
       ])
>>> f = e.copy()
>>> f
array(,
       ,
       ])
>>> f = 100
>>> f
array(,
       ,
       ])
>>> e
# No change is reflected in the original array
# We are safe!
array(,
       ,
       ])

Реверсив Numpy Array в Python

Модуль позволяет нам использовать массив Структуры данных в Python, которые действительно быстро И разрешить только такие же массивы типа данных.

Здесь мы собираемся обратить вспять массив в Python, построенный с помощью Numpy Module.

1. Использование метода FLIP ()

Метод в модуле Numpy переворачивает порядок Numpy Array и возвращает объект Numpy Array.

import numpy as np

#The original NumPy array
new_arr=np.array()
print("Original Array is :",new_arr)

#reversing using flip() Method
res_arr=np.flip(new_arr)
print("Resultant Reversed Array:",res_arr)

Выход :

Original Array is : 
Resultant Reversed Array: 

2. Использование метода flipud ()

метод еще один метод в Numpy Модуль, который переворачивает массив вверх/вниз. Он также может быть использован, чтобы изменить номерного массива в Python. Давайте посмотрим, как мы можем использовать его в небольшом примере.

import numpy as np

#The original NumPy array
new_arr=np.array()
print("Original Array is :",new_arr)

#reversing using flipud() Method
res_arr=np.flipud(new_arr)
print("Resultant Reversed Array:",res_arr)

Выход :

Original Array is : 
Resultant Reversed Array: 

3. Используя простые нарезки

Как мы делали ранее со списками, мы можем поменять массив в Python, построенный с Numpy, используя нарезка Отказ Мы создаем новый Numpy объект массива, который содержит элементы в обратном порядке.

import numpy as np

#The original NumPy array
new_arr=np.array()
print("Original Array is :",new_arr)

#reversing using array slicing
res_arr=new_arr
print("Resultant Reversed Array:",res_arr)

Выход :

Original Array is : 
Resultant Reversed Array: 
Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector