
Funkcja numpy.split()
w języku Python to jedno z podstawowych narzędzi w bibliotece NumPy, które pozwalają na podział tablicy na mniejsze fragmenty. Jest to szczególnie przydatne w przetwarzaniu danych, uczeniu maszynowym i analizie dużych zbiorów numerycznych. W tym artykule wyjaśnię, jak dokładnie działa numpy.split()
, jakie ma zastosowania oraz zaprezentuję praktyczne przykłady użycia.
Podstawowe działanie numpy.split()
Funkcja numpy.split()
pozwala podzielić tablicę NumPy na równomierne fragmenty. Wymaga podania trzech argumentów:
ary
– tablica NumPy, którą chcemy podzielić.indices_or_sections
– liczba sekcji lub lista indeksów, na bazie których nastąpi podział.axis
(opcjonalnie) – oś, wzdłuż której następuje split (domyślnie 0, czyli rozdzielenie wzdłuż wierszy).
Podział tablicy na równe części
Najprostszym przypadkiem użycia jest podział tablicy 1D na określoną liczbę równych części.
import numpy as np
# Tworzymy tablicę
arr = np.array([1, 2, 3, 4, 5, 6])
# Dzielimy na 3 równe części
split_arrays = np.split(arr, 3)
# Wyświetlamy wynik
for sub_array in split_arrays:
print(sub_array)
Wynik:
[1 2] [3 4] [5 6]
Trzeba pamiętać, że tablica musi dać się podzielić równo – inaczej funkcja rzuci wyjątek.
Podział z wykorzystaniem indeksów
Jeśli chcemy podzielić tablicę w nieregularnych miejscach, możemy użyć listy indeksów.
arr = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9])
# Podział na trzy części w miejscach [3, 6]
split_arrays = np.split(arr, [3, 6])
for sub_array in split_arrays:
print(sub_array)
Wynik:
[1 2 3] [4 5 6] [7 8 9]
Podział tablicy wielowymiarowej
Funkcja numpy.split()
działa również na tablicach wielowymiarowych. Poniżej dzielimy macierz 2D wzdłuż kolumn.
arr = np.array([[1, 2, 3],
[4, 5, 6]])
# Podział wzdłuż kolumn (oś 1)
split_arrays = np.split(arr, 3, axis=1)
for sub_array in split_arrays:
print(sub_array)
Wynik:
[[1] [4]] [[2] [5]] [[3] [6]]
Alternatywa: numpy.array_split()
Jeśli chcemy podzielić tablicę na nierówne sekcje bez problemu z błędem podziału, możemy użyć numpy.array_split()
, które nie wymaga równych fragmentów.
arr = np.array([1, 2, 3, 4, 5, 6, 7])
split_arrays = np.array_split(arr, 3)
for sub_array in split_arrays:
print(sub_array)
Wynik:
[1 2 3] [4 5] [6 7]
Podsumowanie
Funkcja numpy.split()
w języku Python jest niezwykle przydatna w pracy z danymi w formie tablic NumPy. Oto najważniejsze aspekty jej działania:
Parametr | Opis |
---|---|
numpy.split(ary, indices_or_sections) |
Podział tablicy na równe fragmenty |
numpy.split(ary, [idx1, idx2]) |
Podział w nieregularnych punktach |
numpy.split(ary, n, axis) |
Podział wzdłuż wskazanej osi |
numpy.array_split() |
Podział na nierówne części |
Dzięki tej funkcji możemy efektywnie manipulować tablicami NumPy, zwłaszcza w analizie danych i przygotowaniu ich do dalszego przetwarzania.
„` Inny ciekawy artykuł: Jak działa numpy dstack w języku Python? Przykład zastosowaniaOpanuj 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.