Skabelsesfunktioner for 1D-Arrays
Udover grundlæggende array-oprettelse ved eksplicit at specificere elementerne, tillader numpy også automatisk array-oprettelse ved hjælp af specielle funktioner. Her er to af de mest almindelige funktioner til at oprette udelukkende 1D-arrays:
arange();linspace().
arange()
Funktionen numpy.arange() ligner Pythons indbyggede range() funktion; dog returnerer den en ndarray. Grundlæggende skaber den et array med jævnt fordelte elementer inden for et specificeret interval.
For eksempel, hvis det specificerede interval er fra 0 til 10 med en trin størrelse på 2, vil det resulterende array være: [0, 2, 4, 6, 8].
Her er de tre vigtigste parametre og deres roller:
-
start:- Standardværdi:
0; - Repræsenterer det første element i arrayet.
- Standardværdi:
-
stop:- Ingen standardværdi;
- Definerer slutpunktet, som ikke er inkluderet i arrayet.
-
step:- Standardværdi:
1; - Angiver inkrementet, der tilføjes til hvert efterfølgende element.
- Standardværdi:
12345678910import 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)
linspace()
Mens arange() kan arbejde med reelle tal, foretrækkes numpy.linspace() frem for numpy.arange() til dette formål, fordi arange() kan give uventede resultater på grund af flydende-punkt præcisionsfejl ved beregning af trin. I modsætning hertil genererer linspace() et specifikt antal jævnt fordelte punkter inden for et interval, hvilket sikrer nøjagtighed og konsistens.
Med linspace(), i stedet for step parameteren, er der en num parameter, der bruges til at specificere antallet af prøver (tal) inden for et givet interval (standard er 50).
1234567import 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)
Endpoint
endpoint parameteren bestemmer, om stop værdien er inkluderet. Som standard er den True (inkluderende). Hvis den sættes til False, udelukkes stop værdien, hvilket reducerer trin størrelsen en smule.
Her er en sammenligning af array_inclusive og array_exclusive:
1234567import 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)
Når endpoint=True, er intervallet [0, 1] opdelt i 4 lige store segmenter og inkluderer endpoint selv (1), hvilket resulterer i en trinlængde på (1 - 0) / 4 = 0.25.
Når endpoint=False, er intervallet [0, 1) opdelt i 5 lige store segmenter da endpoint er ekskluderet, hvilket resulterer i en trinlængde på (1 - 0) / 5 = 0.2.
Bemærk
Du kan altid lære mere om disse funktioner i deres dokumentation: arange, linspace.
Swipe to start coding
- Brug
arange()funktionen til at opretteeven_numbersarrayet. - Angiv argumenterne for at oprette et array af lige tal fra
2til21eksklusiv. - Brug den passende funktion til at oprette
samplesarrayet, som tillader at specificere antallet af værdier inden for et givet interval. - Angiv de første tre argumenter for at oprette et array af
10lige store tal mellem5og6. - Sørg for, at
6ikke er inkluderet isamplesarrayet.
Løsning
Tak for dine kommentarer!
single
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat
Can you explain the difference between arange() and linspace() in more detail?
What are some common use cases for arange() and linspace()?
Can you show how floating-point precision errors might affect arange()?
Awesome!
Completion rate improved to 3.7
Skabelsesfunktioner for 1D-Arrays
Stryg for at vise menuen
Udover grundlæggende array-oprettelse ved eksplicit at specificere elementerne, tillader numpy også automatisk array-oprettelse ved hjælp af specielle funktioner. Her er to af de mest almindelige funktioner til at oprette udelukkende 1D-arrays:
arange();linspace().
arange()
Funktionen numpy.arange() ligner Pythons indbyggede range() funktion; dog returnerer den en ndarray. Grundlæggende skaber den et array med jævnt fordelte elementer inden for et specificeret interval.
For eksempel, hvis det specificerede interval er fra 0 til 10 med en trin størrelse på 2, vil det resulterende array være: [0, 2, 4, 6, 8].
Her er de tre vigtigste parametre og deres roller:
-
start:- Standardværdi:
0; - Repræsenterer det første element i arrayet.
- Standardværdi:
-
stop:- Ingen standardværdi;
- Definerer slutpunktet, som ikke er inkluderet i arrayet.
-
step:- Standardværdi:
1; - Angiver inkrementet, der tilføjes til hvert efterfølgende element.
- Standardværdi:
12345678910import 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)
linspace()
Mens arange() kan arbejde med reelle tal, foretrækkes numpy.linspace() frem for numpy.arange() til dette formål, fordi arange() kan give uventede resultater på grund af flydende-punkt præcisionsfejl ved beregning af trin. I modsætning hertil genererer linspace() et specifikt antal jævnt fordelte punkter inden for et interval, hvilket sikrer nøjagtighed og konsistens.
Med linspace(), i stedet for step parameteren, er der en num parameter, der bruges til at specificere antallet af prøver (tal) inden for et givet interval (standard er 50).
1234567import 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)
Endpoint
endpoint parameteren bestemmer, om stop værdien er inkluderet. Som standard er den True (inkluderende). Hvis den sættes til False, udelukkes stop værdien, hvilket reducerer trin størrelsen en smule.
Her er en sammenligning af array_inclusive og array_exclusive:
1234567import 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)
Når endpoint=True, er intervallet [0, 1] opdelt i 4 lige store segmenter og inkluderer endpoint selv (1), hvilket resulterer i en trinlængde på (1 - 0) / 4 = 0.25.
Når endpoint=False, er intervallet [0, 1) opdelt i 5 lige store segmenter da endpoint er ekskluderet, hvilket resulterer i en trinlængde på (1 - 0) / 5 = 0.2.
Bemærk
Du kan altid lære mere om disse funktioner i deres dokumentation: arange, linspace.
Swipe to start coding
- Brug
arange()funktionen til at opretteeven_numbersarrayet. - Angiv argumenterne for at oprette et array af lige tal fra
2til21eksklusiv. - Brug den passende funktion til at oprette
samplesarrayet, som tillader at specificere antallet af værdier inden for et givet interval. - Angiv de første tre argumenter for at oprette et array af
10lige store tal mellem5og6. - Sørg for, at
6ikke er inkluderet isamplesarrayet.
Løsning
Tak for dine kommentarer!
single