Перетворення списку Python на масиви numpy

Список у Python — це лінійна структура даних, яка може містити різнорідні елементи, які не потребують оголошення та які можна звужувати та збільшувати. З іншого боку, масив — це структура даних, яка може містити однорідні елементи. Масиви реалізовані в Python за допомогою NumPy бібліотека. Масиви вимагають менше пам'яті, ніж списки . Подібність між масивом і списком полягає в тому, що елементи як масиву, так і списку можна ідентифікувати за значенням індексу.

приклад

  Input:   [1, 7, 0, 6, 2, 5, 6]   Output:   [1 7 0 6 2 5 6]   Explanation:   Given Python List is converted into NumPy Array 

Перетворення списку Python на масиви Numpy

в Python , списки можна перетворити на масиви за допомогою двох методів із бібліотеки NumPy:

  • Використання numpy.array()
  • Використання numpy.asarray()

Список Python до масивів NumPy за допомогою numpy.array()

У Python найпростішим способом перетворення списку в масив NumPy є використання функції numpy.array(). Він приймає аргумент і в результаті повертає масив NumPy. Він створює нову копію в пам’яті та повертає новий масив.

Python3




# importing library> import> numpy> # initializing list> lst> => [> 1> ,> 7> ,> 0> ,> 6> ,> 2> ,> 5> ,> 6> ]> # converting list to array> arr> => numpy.array(lst)> # displaying list> print> (> 'List: '> , lst)> # displaying array> print> (> 'Array: '> , arr)>

Вихід:

List: [1, 7, 0, 6, 2, 5, 6] Array: [1 7 0 6 2 5 6] 

Список Python до масивів NumPy за допомогою numpy.asarray()

У Numpy, numpy.asarray() це функція, яка перетворює вхідні дані в масив NumPy. Він приймає аргумент і повертає масив NumPy. Нова копія в пам’яті не створюється.

Python3




# importing library> import> numpy> # initializing list> lst> => [> 1> ,> 7> ,> 0> ,> 6> ,> 2> ,> 5> ,> 6> ]> # converting list to array> arr> => numpy.asarray(lst)> # displaying list> print> (> 'List:'> , lst)> # displaying array> print> (> 'Array: '> , arr)>

Вихід:

List: [1, 7, 0, 6, 2, 5, 6] Array: [1 7 0 6 2 5 6] 

Різниця між numpy.array() і numpy.asarray()

Важлива різниця між двома наведеними вище методами полягає в тому, що numpy.array() створить дублікат оригінального об’єкта, а numpy.asarray() відобразить зміни в оригінальному об’єкті. Коли копія масиву створюється за допомогою numpy.asarray(), зміни, зроблені в одному масиві, також відображатимуться в іншому масиві, але не відображатимуться зміни в списку, за допомогою якого зроблено масив. Однак цього не відбувається з numpy.array().

Python3




# importing library> import> numpy> # initializing list> lst> => [> 1> ,> 7> ,> 0> ,> 6> ,> 2> ,> 5> ,> 6> ]> # converting list to array> arr> => numpy.asarray(lst)> # displaying list> print> (> 'List:'> , lst)> # displaying array> print> (> 'arr: '> , arr)> # made another array out of arr using asarray function> arr1> => numpy.asarray(arr)> #displaying arr1 before the changes made> print> (> 'arr1: '> , arr1)> #change made in arr1> arr1[> 3> ]> => 23> #displaying arr1 , arr , list after the change has been made> print> (> 'lst: '> , lst)> print> (> 'arr: '> , arr)> print> (> 'arr1: '> , arr1)>

Вихід:

List: [1, 7, 0, 6, 2, 5, 6] arr: [1 7 0 6 2 5 6] arr1: [1 7 0 6 2 5 6] lst: [1, 7, 0, 6, 2, 5, 6] arr: [ 1 7 0 23 2 5 6] arr1: [ 1 7 0 23 2 5 6] 

В arr і arr1 зміни видно в індексі 3, але не в 1-му.