Jak działa numpy array w języku Python? Przykład zastosowania

Jak działa numpy array w języku Python? Przykład zastosowania
„`html

Pracując z danymi w języku Python, często potrzebujemy wydajnych struktur do przechowywania i manipulowania danymi liczbowymi. Tutaj z pomocą przychodzi biblioteka NumPy i jej fundamentalna struktura – numpy.array(). Jest to potężne narzędzie, które przewyższa listy Pythona pod względem szybkości i funkcjonalności.

Czym jest numpy.array()?

Obiekt numpy.array() to podstawowa struktura tablicowa w bibliotece NumPy. W odróżnieniu od list Pythona, tablica NumPy jest jednorodna, co oznacza, że wszystkie elementy muszą być tego samego typu. Dzięki temu możliwe są znacznie szybsze operacje na danych oraz oszczędność pamięci.

Podstawowa składnia numpy.array()

Aby utworzyć tablicę NumPy, wystarczy zaimportować bibliotekę i użyć funkcji numpy.array(), przekazując do niej standardową listę Pythona.

import numpy as np

# Tworzenie tablicy jednowymiarowej
arr = np.array([1, 2, 3, 4, 5])

print(arr)
# Output: [1 2 3 4 5]

Tablicę NumPy można również utworzyć z listy wielowymiarowej, co pozwala na wygodne przechowywanie macierzy.

# Tworzenie tablicy dwuwymiarowej (macierzy)
arr_2d = np.array([[1, 2, 3], [4, 5, 6]])

print(arr_2d)
# Output:
# [[1 2 3]
#  [4 5 6]]

Podstawowe cechy numpy.array()

Obiekt numpy.array() oferuje wiele przydatnych właściwości:

  • ndim – liczba wymiarów tablicy
  • shape – kształt tablicy (liczba wierszy i kolumn)
  • size – liczba wszystkich elementów w tablicy
  • dtype – typ danych przechowywanych w tablicy
print(arr_2d.ndim)  # Output: 2
print(arr_2d.shape) # Output: (2, 3)
print(arr_2d.size)  # Output: 6
print(arr_2d.dtype) # Output: int64 (lub inny w zależności od systemu)

Dlaczego warto używać numpy.array() zamiast list Pythona?

NumPy został zaprojektowany do obsługi dużych zbiorów danych i zapewnia optymalizację, której brak w standardowych listach Pythona. Główne zalety tablic NumPy to:

  1. Lepsza wydajność – operacje na numpy.array() są znacznie szybsze niż na listach Pythona.
  2. Mniejsze zużycie pamięci – NumPy przechowuje dane w sposób bardziej efektywny.
  3. Zaawansowane operacje matematyczne – NumPy oferuje mnóstwo funkcji do pracy z danymi numerycznymi.

Dla porównania sprawdźmy, ile pamięci zajmuje lista i tablica NumPy:

import numpy as np
import sys

# Lista Pythona
py_list = [1, 2, 3, 4, 5]
np_array = np.array(py_list)

print(sys.getsizeof(py_list))   # Rozmiar listy w bajtach
print(sys.getsizeof(np_array))  # Rozmiar tablicy NumPy w bajtach

Wynik pokazuje, że tablica NumPy zajmuje mniej pamięci niż lista, co staje się jeszcze bardziej widoczne przy dużych zbiorach danych.

Operacje na numpy.array()

Tablice NumPy pozwalają na wykonywanie wielu operacji matematycznych bez konieczności stosowania pętli. Oto kilka przykładów:

# Mnożenie każdego elementu tablicy przez 2
arr = np.array([1, 2, 3, 4, 5])
print(arr * 2)
# Output: [ 2  4  6  8 10]

# Suma wszystkich elementów tablicy
print(np.sum(arr))
# Output: 15

# Średnia wartości w tablicy
print(np.mean(arr))
# Output: 3.0

Indeksowanie i modyfikowanie wartości

Indeksowanie w NumPy działa bardzo podobnie jak w listach Pythona, ale oferuje również bardziej zaawansowane metody.

arr = np.array([10, 20, 30, 40, 50])

# Dostęp do pojedynczego elementu
print(arr[2])  # Output: 30

# Zakres indeksów (slicing)
print(arr[1:4])  # Output: [20 30 40]

# Modyfikacja elementu
arr[2] = 99
print(arr)  # Output: [10 20 99 40 50]

Tworzenie tablic specjalnych

NumPy oferuje także wygodne funkcje do tworzenia tablic o określonych wartościach:

Funkcja Opis Przykład
np.zeros() Tablica wypełniona zerami np.zeros((3,3))
np.ones() Tablica wypełniona jedynkami np.ones((2,2))
np.eye() Macierz jednostkowa np.eye(3)
np.arange() Ciag liczb o określonym kroku np.arange(0,10,2)
# Przykład użycia:
zeros_array = np.zeros((3, 3))
ones_array = np.ones((2, 2))
identity_matrix = np.eye(3)

print(zeros_array)
# Output: 3x3 tablica zer
print(ones_array)
# Output: 2x2 tablica jedynek
print(identity_matrix)
# Output: Macierz jednostkowa 3x3

Podsumowanie

Tablice NumPy to jedno z najważniejszych narzędzi w języku Python do przetwarzania danych. Oferują one lepszą wydajność, mniejsze zużycie pamięci i bogaty zestaw operacji matematycznych w porównaniu do zwykłych list Pythona. Jeśli zajmujesz się analizą danych, uczeniem maszynowym lub obliczeniami naukowymi – numpy.array() jest niezastąpionym narzędziem!

„` Inny ciekawy artykuł: Jak działa pandas to_json w języku Python? Przykład zastosowania
KajoDataSpace