Data Science Academy · Lektion

Reshape og flatten af arrays

Skift dimensioner uden at miste data.

Lektion 1 af 413 trin

Reshape og flatten af arrays er en gratis Data Science Academy-lektion på CoddyKit. Dette er lektion 1 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Data Science Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Data Science Academy-kurset indeholder 4 lektioner i alt.

Samme data, ny form

Et array er blot tal plus en form. Når du ændrer formen, omarrangeres tallene i nye dimensioner uden at kopiere eller ændre en eneste værdi.

Kald reshape

Brug reshape til at placere 12 tal i et gitter på 3 gange 4. Det samlede antal skal forblive det samme, ellers udløser NumPy en fejl.

import numpy as np
a = np.arange(12)
b = a.reshape(3, 4)

Rækker gange kolonner

Den nye form fungerer kun, hvis dimensionerne multipliceres til den oprindelige størrelse. Her er 3 gange 4 lig med 12, så reshape passer perfekt.

Lad NumPy regne

Angiv -1 for én dimension, så beregner NumPy den for dig. Det er en praktisk genvej, når du kun kender den ene side af gitteret.

a = np.arange(12)
b = a.reshape(3, -1)   # becomes 3 x 4

Gå til 1D med ravel

Har du brug for en flad række tal igen? ravel samler ethvert array i én enkelt dimension og læser værdierne række for række.

grid = np.arange(6).reshape(2, 3)
flat = grid.ravel()   # [0 1 2 3 4 5]

flatten laver en kopi

Metoden flatten returnerer også et 1D-array, men altid som en ny kopi. Hvis du redigerer resultatet, påvirker det aldrig det oprindelige array.

flat = grid.flatten()
flat[0] = 99   # grid is untouched

ravel deler muligvis hukommelse

I modsætning til flatten returnerer ravel ofte en visning, der deler hukommelse med kilden. Hvis du ændrer visningen, kan originalen også blive ændret.

Tilføj en dimension

Et 1D-array kan udvides til en kolonne med reshape. Det er almindeligt at ændre formen (3,) til (3, 1) før sammenføjning eller matrixberegninger.

v = np.array([1, 2, 3])
col = v.reshape(3, 1)

Transpose vender akserne

Attributten .T bytter om på rækker og kolonner. Et array på 2 gange 3 bliver straks til 3 gange 2, som om dataene spejles over diagonalen.

grid = np.arange(6).reshape(2, 3)
turned = grid.T   # shape 3 x 2

Formen skal være konsistent

Du kan ikke ændre formen på 10 tal til et gitter på 3 gange 4. Antallet af elementer skal være det samme på begge sider, så planlæg dimensionerne, før du ændrer formen.

Derfor er ændring af formen vigtig

Modeller og værktøjer til visualisering forventer bestemte former. Ændring af formen lader den samme talblok fungere som en vektor, en matrix eller et billede efter behov.

Hurtigt tjek

Du ønsker en garanteret uafhængig 1D-kopi af et array.

Opsummering af ændring af form

Du ændrede formen på dataene uden at ændre deres værdier, brugte -1 til automatisk beregning af størrelsen og lærte, at flatten kopierer, mens ravel muligvis deler hukommelse. 🎯

Gratis at komme i gang

Lær Python med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
30
Lektioner
120

Ofte stillede spørgsmål

Er lektionen “Reshape og flatten af arrays” gratis?

Ja — hele teksten til “Reshape og flatten af arrays” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Data Science Academy-kurset, skal du opgradere til CoddyKit PRO. Data Science Academy-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Reshape og flatten af arrays”?

Skift dimensioner uden at miste data. Du øver dig i Data Science Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Data Science Academy?

Der kræves ingen tidligere erfaring. Data Science Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 1 af 4.

Hvor lang tid tager lektionen “Reshape og flatten af arrays”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Data Science Academy-lektion?

Ja. Alle Data Science Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Reshape og flatten af arrays
  2. Sum, mean og axis-tricket
  3. Booleske masker til udvælgelse
  4. Tilfældige tal og seeds
← Tilbage til Data Science Academy