
Funkcja numpy.linspace() jest jednym z podstawowych narzędzi oferowanych przez bibliotekę NumPy, które pozwala na wygenerowanie równomiernie rozmieszczonych wartości w zadanym przedziale. Jest niezwykle przydatna w analizie numerycznej, wizualizacji danych oraz w wielu innych zastosowaniach naukowych i inżynieryjnych.
Co to jest numpy.linspace()?
Funkcja numpy.linspace() służy do tworzenia tablicy wartości, które są równomiernie rozmieszczone pomiędzy dwoma zadanymi punktami. Dzięki temu można z łatwością generować zakresy danych przydatne w różnego rodzaju obliczeniach.
Oto podstawowa składnia tej funkcji:
numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None, axis=0)
Gdzie:
start– początek przedziału, w którym generujemy liczby.stop– koniec przedziału (wartość końcowa może być włączona lub wyłączona, co zależy od parametruendpoint).num– liczba wartości do wygenerowania (domyślnie 50).endpoint– jeśliTrue, to wartośćstopjest uwzględniona w sekwencji (domyślnieTrue).retstep– jeśliTrue, funkcja zwraca także krok pomiędzy kolejnymi wartościami.dtype– określa typ danych wynikowej tablicy.axis– określa oś, wzdłuż której generowana jest tablica (przydatne przy pracy z macierzami wielowymiarowymi).
Jak działa numpy.linspace() w języku Python? Przykład zastosowania
Przeanalizujmy kilka praktycznych przykładów, które ilustrują zastosowanie funkcji numpy.linspace().
1. Generowanie prostego zakresu wartości
Najprostsze użycie numpy.linspace() to wygenerowanie 10 liczb równomiernie rozmieszczonych między 0 a 1:
import numpy as np
tablica = np.linspace(0, 1, 10)
print(tablica)
Wynik:
[0. 0.11111111 0.22222222 0.33333333 0.44444444
0.55555556 0.66666667 0.77777778 0.88888889 1. ]
Jak widać, otrzymaliśmy dziesięć wartości równomiernie rozmieszczonych w przedziale od 0 do 1.
2. Wyłączenie wartości końcowej
Jeśli nie chcemy, aby ostatnia wartość była równa stop, możemy ustawić endpoint=False:
tablica = np.linspace(0, 1, 10, endpoint=False)
print(tablica)
Wynik:
[0. 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9]
Dzięki temu uzyskaliśmy 10 liczb równomiernie rozmieszczonych, ale nie sięgających dokładnie wartości 1.
3. Pobieranie kroku
Użycie retstep=True pozwala na zwrócenie wartości kroku pomiędzy kolejnymi elementami:
tablica, krok = np.linspace(0, 10, 5, retstep=True)
print("Tablica:", tablica)
print("Krok:", krok)
Wynik:
Tablica: [ 0. 2.5 5. 7.5 10. ]
Krok: 2.5
Krok obliczany jest jako różnica między kolejnymi wartościami w zbiorze.
4. Określenie typu danych
Możemy ustawić konkretny typ danych dla generowanej tablicy, np. int:
tablica = np.linspace(0, 10, 5, dtype=int)
print(tablica)
Wynik:
[ 0 2 5 7 10]
Porównanie z numpy.arange()
Funkcja numpy.linspace() jest często mylona z numpy.arange(). Oto główne różnice:
| Cecha | numpy.linspace() | numpy.arange() |
|---|---|---|
| Parametry | start, stop, num |
start, stop, step |
| Kontrola liczby elementów | Tak, ustalamy dokładną liczbę punktów | Nie, wynik zależy od kroku |
| Przydatność | Przydatna w analizie numerycznej | Bardziej intuicyjna do iteracji |
Jeśli zależy nam na podziale zakresu na dokładną liczbę punktów, warto użyć numpy.linspace(). Natomiast jeśli chcemy określić krok i nie obchodzi nas liczba wynikowych wartości, lepiej wybrać numpy.arange().
Podsumowanie
Funkcja numpy.linspace() to niezwykle przydatne narzędzie, które pozwala na szybkie generowanie równomiernie rozmieszczonych wartości w danym przedziale. Jest niezastąpiona w analizie numerycznej, wizualizacji oraz różnego rodzaju symulacjach. Dzięki elastycznym parametrom, takim jak endpoint, retstep czy dtype, możemy dostosować ją do różnych zastosowań w naszych projektach.
Inny ciekawy artykuł:
Jak działa numpy eye w języku Python? Przykład zastosowania
Opanuj analizę danych w Pythonie z moim kursem!
Opanujesz podstawy programowania w Pythonie, w tym typy danych, zmienne, listy, słowniki, funkcje oraz obsługę błędów. Nauczysz się korzystać z biblioteki pandas do zaawansowanej analizy danych i pracy z różnymi rodzajami danych. Zrozumiesz proces analizy, eksploracji (EDA) i wizualizacji. Tworzenie własnych funkcji przygotuje Cię do rozmów kwalifikacyjnych i rozwiązywania rzeczywistych problemów biznesowych.
Zostań analitykiem danych – dołącz do KajoDataSpace!
Najlepsza ścieżka do zawodu analityka danych. Dostęp do pełnych wersji kursów online z Excela, SQLa, PowerBI, Tableau i Pythona z certyfikatami!
🟨 Ekskluzywana ale pomagająca sobie społeczność.
🟩 Ponad 75 godzin materiałów video.
🟨 Spotkania LIVE co miesiąc.
🟩 Mój osobisty mentoring.

