
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śćstop
jest 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.
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, Tableau i Pythona z certyfikatami + specjalistycznych webinarów z PowerBI.
Ekskluzywana ale pomagająca sobie społeczność.
Ponad 61 godzin materiałów video.
Spotkania LIVE co miesiąc.
Mój osobisty mentoring.