Skapandefunktioner för 1D-arrayer
Förutom grundläggande skapande av arrayer genom att explicit ange elementen, möjliggör numpy även automatisk skapande av arrayer med hjälp av speciella funktioner. Här är två av de vanligaste funktionerna för att skapa uteslutande endimensionella arrayer:
arange();linspace().
arange()
Funktionen numpy.arange() liknar Pythons inbyggda funktion range(), men returnerar en ndarray. Den skapar i huvudsak en array med jämnt fördelade element inom ett angivet intervall.
Om det angivna intervallet till exempel är från 0 till 10 med ett steg om 2, blir den resulterande arrayen: [0, 2, 4, 6, 8].
Här är dess tre viktigaste parametrar och deras roller:
-
start:- Standardvärde:
0; - Representerar första elementet i arrayen.
- Standardvärde:
-
stop:- Inget standardvärde;
- Definierar slutpunkten, som inte inkluderas i arrayen.
-
step:- Standardvärde:
1; - Anger inkrementet som läggs till varje efterföljande element.
- Standardvärde:
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()
Även om arange() kan användas med reella tal, föredras numpy.linspace() framför numpy.arange() för detta ändamål eftersom arange() kan ge oväntade resultat på grund av flyttalsavrundningsfel vid beräkning av steg. Däremot genererar linspace() ett specifikt antal jämnt fördelade punkter inom ett intervall, vilket säkerställer noggrannhet och konsekvens.
Med linspace() används istället för parametern step parametern num för att ange antalet värden (tal) inom ett givet intervall (standard är 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
Parametern endpoint avgör om värdet stop inkluderas. Som standard är den True (inkluderande). Om den sätts till False exkluderas värdet stop, vilket minskar steglängden något.
Här är en jämförelse mellan array_inclusive och 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 delas intervallet [0,1] upp i 4 lika stora segment och inkluderar slutpunkten (1), vilket ger en stegstorlek på (1−0)/4=0.25.
När endpoint=False delas intervallet [0,1) upp i 5 lika stora segment eftersom slutpunkten utesluts, vilket ger en stegstorlek på (1−0)/5=0.2.
Swipe to start coding
- Använd funktionen
arange()för att skapa arrayeneven_numbers. - Ange argumenten för att skapa en array med jämna tal från
2till21exklusive. - Använd lämplig funktion för att skapa arrayen
samples, vilket möjliggör att ange antalet värden inom ett givet intervall. - Ange de tre första argumenten för att skapa en array med
10jämnt fördelade tal mellan5och6. - Säkerställ att
6inte inkluderas i arrayensamples.
Lösning
Tack för dina kommentarer!
single
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal
Awesome!
Completion rate improved to 3.7
Skapandefunktioner för 1D-arrayer
Svep för att visa menyn
Förutom grundläggande skapande av arrayer genom att explicit ange elementen, möjliggör numpy även automatisk skapande av arrayer med hjälp av speciella funktioner. Här är två av de vanligaste funktionerna för att skapa uteslutande endimensionella arrayer:
arange();linspace().
arange()
Funktionen numpy.arange() liknar Pythons inbyggda funktion range(), men returnerar en ndarray. Den skapar i huvudsak en array med jämnt fördelade element inom ett angivet intervall.
Om det angivna intervallet till exempel är från 0 till 10 med ett steg om 2, blir den resulterande arrayen: [0, 2, 4, 6, 8].
Här är dess tre viktigaste parametrar och deras roller:
-
start:- Standardvärde:
0; - Representerar första elementet i arrayen.
- Standardvärde:
-
stop:- Inget standardvärde;
- Definierar slutpunkten, som inte inkluderas i arrayen.
-
step:- Standardvärde:
1; - Anger inkrementet som läggs till varje efterföljande element.
- Standardvärde:
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()
Även om arange() kan användas med reella tal, föredras numpy.linspace() framför numpy.arange() för detta ändamål eftersom arange() kan ge oväntade resultat på grund av flyttalsavrundningsfel vid beräkning av steg. Däremot genererar linspace() ett specifikt antal jämnt fördelade punkter inom ett intervall, vilket säkerställer noggrannhet och konsekvens.
Med linspace() används istället för parametern step parametern num för att ange antalet värden (tal) inom ett givet intervall (standard är 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
Parametern endpoint avgör om värdet stop inkluderas. Som standard är den True (inkluderande). Om den sätts till False exkluderas värdet stop, vilket minskar steglängden något.
Här är en jämförelse mellan array_inclusive och 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 delas intervallet [0,1] upp i 4 lika stora segment och inkluderar slutpunkten (1), vilket ger en stegstorlek på (1−0)/4=0.25.
När endpoint=False delas intervallet [0,1) upp i 5 lika stora segment eftersom slutpunkten utesluts, vilket ger en stegstorlek på (1−0)/5=0.2.
Swipe to start coding
- Använd funktionen
arange()för att skapa arrayeneven_numbers. - Ange argumenten för att skapa en array med jämna tal från
2till21exklusive. - Använd lämplig funktion för att skapa arrayen
samples, vilket möjliggör att ange antalet värden inom ett givet intervall. - Ange de tre första argumenten för att skapa en array med
10jämnt fördelade tal mellan5och6. - Säkerställ att
6inte inkluderas i arrayensamples.
Lösning
Tack för dina kommentarer!
single