Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Opprettelsesfunksjoner for 1D-Arrays | Numpy-Grunnleggende
Ultimate NumPy

bookOpprettelsesfunksjoner for 1D-Arrays

I tillegg til grunnleggende array-opprettelse ved eksplisitt å angi elementene, tillater numpy også automatisk opprettelse av arrays ved hjelp av spesielle funksjoner. Her er to av de mest brukte funksjonene for å opprette utelukkende 1D-arrays:

  • arange();
  • linspace().

arange()

Funksjonen numpy.arange() ligner på Pythons innebygde range()-funksjon, men returnerer en ndarray. Den lager i hovedsak et array med jevnt fordelte elementer innenfor et spesifisert intervall.

For eksempel, hvis det spesifiserte intervallet er fra 0 til 10 med et steg på 2, vil det resulterende arrayet være: [0, 2, 4, 6, 8].

Her er de tre viktigste parameterne og deres roller:

  1. start:

    • Standardverdi: 0;
    • Representerer første element i arrayet.
  2. stop:

    • Ingen standardverdi;
    • Definerer sluttpunktet, som ikke er inkludert i arrayet.
  3. step:

    • Standardverdi: 1;
    • Angir inkrementet som legges til hvert påfølgende element.
12345678910
import numpy as np # Creating an array of integers from 0 to 11 exclusive with step=1 array_1 = np.arange(11) print(array_1) # Creating an array of integers from 1 to 11 exclusive with step=1 array_2 = np.arange(1, 11) print(array_2) # Creating an array of integers from 0 to 11 exclusive with step=2 array_3 = np.arange(0, 11, 2) print(array_3)
copy

linspace()

Selv om arange() kan brukes med reelle tall, foretrekkes numpy.linspace() fremfor numpy.arange() for dette formålet fordi arange() kan gi uventede resultater på grunn av flyttalls-presisjonsfeil ved beregning av steg. I motsetning genererer linspace() et spesifikt antall jevnt fordelte punkter innenfor et intervall, noe som sikrer nøyaktighet og konsistens.

Med linspace() brukes parameteren step i stedet for num for å angi antall prøver (tall) innenfor et gitt intervall (standardverdi er 50).

1234567
import numpy as np # Generating 5 equally spaced values between 0 and 1 (inclusive) array_1 = np.linspace(0, 1, 5) print('Example 1:', array_1) # Generating 7 equally spaced values between -1 and 1 (inclusive) array_2 = np.linspace(-1, 1, 7) print('Example 2:', array_2)
copy

Endpoint

Parameteren endpoint bestemmer om stop-verdien skal inkluderes. Som standard er den satt til True (inkluderende). Hvis den settes til False, ekskluderes stop-verdien, noe som gir en litt mindre stegstørrelse.

Her er en sammenligning av array_inclusive og array_exclusive:

1234567
import numpy as np # Generating 5 equally spaced values between 0 and 1 (inclusive) array_inclusive = np.linspace(0, 1, 5) print('Endpoint = True:', array_inclusive) # Generating 5 equally spaced values between 0 and 1 (exclusive) array_exclusive = np.linspace(0, 1, 5, endpoint=False) print('Endpoint = False:', array_exclusive)
copy

Når endpoint=True, deles intervallet [0,1][0, 1] inn i 4 like segmenter og inkluderer endepunktet (1), noe som gir en steglengde på (10)/4=0.25(1 - 0) / 4 = 0.25.

Når endpoint=False, deles intervallet [0,1)[0, 1) inn i 5 like segmenter siden endepunktet er ekskludert, noe som gir en steglengde på (10)/5=0.2(1 - 0) / 5 = 0.2.

Oppgave

Swipe to start coding

  1. Bruk funksjonen arange() for å opprette arrayet even_numbers.
  2. Spesifiser argumentene for å lage et array med partall fra 2 til 21, eksklusiv.
  3. Bruk riktig funksjon for å opprette arrayet samples, som lar deg angi antall verdier innenfor et gitt intervall.
  4. Spesifiser de tre første argumentene for å lage et array med 10 jevnt fordelte tall mellom 5 og 6.
  5. Sørg for at 6 ikke er inkludert i arrayet samples.

Løsning

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 1. Kapittel 4
single

single

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Suggested prompts:

Can you explain the difference between arange() and linspace() in more detail?

What are some common use cases for arange() and linspace()?

How does floating-point precision affect the results of arange()?

close

Awesome!

Completion rate improved to 3.7

bookOpprettelsesfunksjoner for 1D-Arrays

Sveip for å vise menyen

I tillegg til grunnleggende array-opprettelse ved eksplisitt å angi elementene, tillater numpy også automatisk opprettelse av arrays ved hjelp av spesielle funksjoner. Her er to av de mest brukte funksjonene for å opprette utelukkende 1D-arrays:

  • arange();
  • linspace().

arange()

Funksjonen numpy.arange() ligner på Pythons innebygde range()-funksjon, men returnerer en ndarray. Den lager i hovedsak et array med jevnt fordelte elementer innenfor et spesifisert intervall.

For eksempel, hvis det spesifiserte intervallet er fra 0 til 10 med et steg på 2, vil det resulterende arrayet være: [0, 2, 4, 6, 8].

Her er de tre viktigste parameterne og deres roller:

  1. start:

    • Standardverdi: 0;
    • Representerer første element i arrayet.
  2. stop:

    • Ingen standardverdi;
    • Definerer sluttpunktet, som ikke er inkludert i arrayet.
  3. step:

    • Standardverdi: 1;
    • Angir inkrementet som legges til hvert påfølgende element.
12345678910
import numpy as np # Creating an array of integers from 0 to 11 exclusive with step=1 array_1 = np.arange(11) print(array_1) # Creating an array of integers from 1 to 11 exclusive with step=1 array_2 = np.arange(1, 11) print(array_2) # Creating an array of integers from 0 to 11 exclusive with step=2 array_3 = np.arange(0, 11, 2) print(array_3)
copy

linspace()

Selv om arange() kan brukes med reelle tall, foretrekkes numpy.linspace() fremfor numpy.arange() for dette formålet fordi arange() kan gi uventede resultater på grunn av flyttalls-presisjonsfeil ved beregning av steg. I motsetning genererer linspace() et spesifikt antall jevnt fordelte punkter innenfor et intervall, noe som sikrer nøyaktighet og konsistens.

Med linspace() brukes parameteren step i stedet for num for å angi antall prøver (tall) innenfor et gitt intervall (standardverdi er 50).

1234567
import numpy as np # Generating 5 equally spaced values between 0 and 1 (inclusive) array_1 = np.linspace(0, 1, 5) print('Example 1:', array_1) # Generating 7 equally spaced values between -1 and 1 (inclusive) array_2 = np.linspace(-1, 1, 7) print('Example 2:', array_2)
copy

Endpoint

Parameteren endpoint bestemmer om stop-verdien skal inkluderes. Som standard er den satt til True (inkluderende). Hvis den settes til False, ekskluderes stop-verdien, noe som gir en litt mindre stegstørrelse.

Her er en sammenligning av array_inclusive og array_exclusive:

1234567
import numpy as np # Generating 5 equally spaced values between 0 and 1 (inclusive) array_inclusive = np.linspace(0, 1, 5) print('Endpoint = True:', array_inclusive) # Generating 5 equally spaced values between 0 and 1 (exclusive) array_exclusive = np.linspace(0, 1, 5, endpoint=False) print('Endpoint = False:', array_exclusive)
copy

Når endpoint=True, deles intervallet [0,1][0, 1] inn i 4 like segmenter og inkluderer endepunktet (1), noe som gir en steglengde på (10)/4=0.25(1 - 0) / 4 = 0.25.

Når endpoint=False, deles intervallet [0,1)[0, 1) inn i 5 like segmenter siden endepunktet er ekskludert, noe som gir en steglengde på (10)/5=0.2(1 - 0) / 5 = 0.2.

Oppgave

Swipe to start coding

  1. Bruk funksjonen arange() for å opprette arrayet even_numbers.
  2. Spesifiser argumentene for å lage et array med partall fra 2 til 21, eksklusiv.
  3. Bruk riktig funksjon for å opprette arrayet samples, som lar deg angi antall verdier innenfor et gitt intervall.
  4. Spesifiser de tre første argumentene for å lage et array med 10 jevnt fordelte tall mellom 5 og 6.
  5. Sørg for at 6 ikke er inkludert i arrayet samples.

Løsning

Switch to desktopBytt til skrivebordet for virkelighetspraksisFortsett der du er med et av alternativene nedenfor
Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 1. Kapittel 4
single

single

some-alt