Konvertera Python List till numpy Arrays
En lista i Python är en linjär datastruktur som kan innehålla heterogena element som inte behöver deklareras och som är flexibla för att krympa och växa. Å andra sidan är en array en datastruktur som kan innehålla homogena element. Arrayer implementeras i Python med hjälp av NumPy bibliotek. Arrayer kräver mindre minne än listor . Likheten mellan en array och en lista är att elementen i både array och en lista kan identifieras genom dess indexvärde.
Exempel
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
Konvertera Python List till Numpy Arrays
I Pytonorm , kan listor konverteras till arrayer genom att använda två metoder från NumPy-biblioteket:
- Använder numpy.array()
- Använder sig av numpy.asarray()
Python Lista till NumPy Arrays med numpy.array()
I Python är det enklaste sättet att konvertera en lista till en NumPy-matris genom att använda funktionen numpy.array(). Det tar ett argument och returnerar en NumPy-array som ett resultat. Den skapar en ny kopia i minnet och returnerar en ny array.
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)> |
Produktion:
List: [1, 7, 0, 6, 2, 5, 6] Array: [1 7 0 6 2 5 6]
Python Lista till NumPy Arrays med numpy.asarray()
I Numpy, numpy.asarray() är en funktion som konverterar indata till NumPy-array. Det tar ett argument och returnerar en NumPy-array. Det skapar inte en ny kopia i minnet.
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)> |
Produktion:
List: [1, 7, 0, 6, 2, 5, 6] Array: [1 7 0 6 2 5 6]
Skillnaden mellan numpy.array() och numpy.asarray()
Den avgörande skillnaden mellan de två ovanstående metoderna är att numpy.array() kommer att göra en dubblett av det ursprungliga objektet och numpy.asarray() skulle spegla ändringarna i det ursprungliga objektet. När en kopia av arrayen görs med hjälp av numpy.asarray(), skulle ändringarna som görs i en array också återspeglas i den andra arrayen men visar inte ändringarna i listan som om arrayen görs. Detta händer dock inte med 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)> |
Utgång:
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]
I arr och arr1 är förändringen synlig vid index 3 men inte i 1:a.