Flerdimensionella arrayer med Numpy

Flerdimensionella arrayer är ett sätt att lagra värden i flera dimensioner. Exempelvis kan en array i två dimensioner liknas en matris (rutnät) och en array i tre dimensioner kan liknas en kub. I Python skapas flerdimensionella arrayer enklas med biblioteket NumPy. 

Vad är en flerdimensionell array i Python?

Vi har tidigare sett hur man kan lagra flera värden i en array. Det är även möjligt att strukturera en array i flera dimensioner. Detta kan göra det enklare att organisera stor mängd data i en önskad struktur. En array i två dimensioner kan liknas ett rutnät, där varje ruta innehåller ett värde.

På samma sätt kan en array i tre dimensioner liknas en kub och en array av högre dimensioner än så är av förståliga skäl svåra att illustrera i bild.

Skapa en array med NumPy

Vi har tidigare sett hur man kan skapa en lista i Python enligt:

my_list = [1, 2, 3, 4, 5]

Ett alternativ är att skapa en så kallad numpy-array med modulen NumPy. NumPy är ett bibliotek som innehåller massor av funktioner för att hantera matematiska beräkningar och har även funktionen att skapa arrayer. Om man har väldigt många värden är det speciellt tacksamt att använda sig av NumPy. För att använda NumPy måste man först importera modulen:

import numpy as np

Här importerar vi alltså modulen numpy och namnger den till np vilket man brukar göra för att få lite renare kod. Vi kan nu skapa en array genom att använda oss av numpy:

my_array = np.array([1, 2, 3])
print(my_array)

Vi har alltså skapat en ny array med namnet my_array genom att anropa numpys inbyggda funktion np.array(). I funktionsanropet anger man den array man vill skapa, i detta fall [1, 2, 3]. Utskriften i detta fall blir alltså:

[1, 2, 3]

Hur skapar man en två-dimensionell array i Python?

Numpy är speciellt tacksamt när man vill arbeta med fler-dimensionella arrayer. Om vi vill skapa en array med två dimensioner kan vi skriva:

import numpy as np

my_multi_array = np.array([[1, 2], [3, 4]])
print(my_multi_array)

vilket skriver ut arrayen:

[[1 2]
 [3 4]]

Vill man få tag i ett specifikt värde i en två-dimensionell array anger man först indexet på raden, sedan vilken kolumn. Exempelvis:

print(my_multi_array[0,0]) # Första raden, första kolumnen
print(my_multi_array[0,1]) # Första raden, andra kolumnen
print(my_multi_array[1,0]) # Andra raden, första kolumnen
print(my_multi_array[1,1]) # Andra raden, andra kolumnen

vilket ger utskriften:

1
2
3
4
Bakåt    |    Framåt