import numpy as np
# Promień koła
= 5.0
r
# Obwód koła: 2 * π * r
= 2 * np.pi * r
obwod print("Obwód koła:", obwod)
# Pole koła: π * r^2
= np.pi * r**2
pole print("Pole koła:", pole)
Obwód koła: 31.41592653589793
Pole koła: 78.53981633974483
NumPy
dostarcza kilka znanych stałych matematycznych, które mogą być przydatne w obliczeniach naukowych i inżynierskich. Wbudowane stałe takie jak liczba Pi czy podstawa logarytmu naturalnego e
ułatwiają pisanie czytelnego i zwięzłego kodu.
numpy.pi
3.141592653589793
numpy.e
e
.e
jest wykorzystywane w wielu dziedzinach, takich jak analiza matematyczna, probabilistyka, statystyka.2.718281828459045
numpy.eulergamma
0.5772156649015329
import numpy as np
# Promień koła
= 5.0
r
# Obwód koła: 2 * π * r
= 2 * np.pi * r
obwod print("Obwód koła:", obwod)
# Pole koła: π * r^2
= np.pi * r**2
pole print("Pole koła:", pole)
Obwód koła: 31.41592653589793
Pole koła: 78.53981633974483
import numpy as np
# Przykładowy punkt x
= 1.0
x
# Wartość funkcji e^x
= np.e**x
exp_value print("e^x dla x=1:", exp_value)
# Porównanie z funkcją np.exp
= np.exp(x)
exp_compare print("Porównanie z np.exp(1):", exp_compare)
e^x dla x=1: 2.718281828459045
Porównanie z np.exp(1): 2.718281828459045
numpy.inf
np.inf
reprezentuje wartość nieskończoną (∞).1.0 / 0.0
zwróci ostrzeżenie i w konsekwencji może dać wartość inf
.import numpy as np
# Zastosowanie w tworzeniu masek logicznych
= np.array([1, 2, np.inf, 4, 5])
arr = np.isinf(arr)
mask print("Maska elementów o wartości inf:", mask)
Maska elementów o wartości inf: [False False True False False]
numpy.nan
np.nan
oznacza “Not a Number” (NaN), czyli wartość nieokreśloną lub niereprezentowalną w systemie liczbowym.0.0/0.0
, inf - inf
lub przy błędach wczytywania danych.nan
zazwyczaj również zwracają nan
.import numpy as np
# Zamiana wartości nan w tablicy
= np.array([1, 2, np.nan, 4, np.nan])
data print("Oryginalne dane:", data)
# Wypełnienie wartości nan zerem
= np.nan_to_num(data, nan=0.0)
data_no_nan print("Dane bez nan:", data_no_nan)
Oryginalne dane: [ 1. 2. nan 4. nan]
Dane bez nan: [1. 2. 0. 4. 0.]
numpy.newaxis
np.newaxis
jest specjalną “stałą”/obiektem służącym do zmiany wymiarów tablic przez zwiększenie ich liczby wymiarów o 1.import numpy as np
# Mamy tablicę 1D
= np.array([1, 2, 3, 4])
vec print("Oryginalna tablica:", vec, "Kształt:", vec.shape)
# Dodajemy nowy wymiar jako wymiar wierszy
= vec[:, np.newaxis]
vec_as_col print("Tablica jako kolumna:\n", vec_as_col, "Kształt:", vec_as_col.shape)
# Dodawanie wymiaru na początku
= vec[np.newaxis, :]
vec_as_row print("Tablica jako wiersz:\n", vec_as_row, "Kształt:", vec_as_row.shape)
# Kolejny przykład: dodanie wymiaru by z łatwością broadcastować operacje
= np.array([10, 20, 30])
a = np.array([1, 2])
b # Bez nowego wymiaru próba dodania a do b się nie powiedzie,
# bo kształty nie są kompatybilne.
# Z nowym wymiarem a ma kształt (3,1), a b (2,), co pozwala na broadcast
= a[:, np.newaxis] + b
sum_matrix print("Operacja z broadcast:\n", sum_matrix)
Oryginalna tablica: [1 2 3 4] Kształt: (4,)
Tablica jako kolumna:
[[1]
[2]
[3]
[4]] Kształt: (4, 1)
Tablica jako wiersz:
[[1 2 3 4]] Kształt: (1, 4)
Operacja z broadcast:
[[11 12]
[21 22]
[31 32]]
Funkcja | Opis |
---|---|
np.mean | Średnia wszystkich wartości w tablicy. |
np.std | Odchylenie standardowe. |
np.var | Wariancja. |
np.sum | Suma wszystkich elementów. |
np.prod | Iloczyn wszystkich elementów. |
np.cumsum | Skumulowana suma wszystkich elementów. |
np.cumprod | Skumulowany iloczyn wszystkich elementów. |
np.min,np.max | Minimalna/maksymalna wartość w tablicy. |
np.argmin, np.argmax | Indeks minimalnej/maksymalnej wartości w tablicy. |
np.all | Sprawdza czy wszystki elementy są różne od zera. |
np.any | Sprawdza czy co najmniej jeden z elementów jest różny od zera. |
https://numpy.org/doc/stable/reference/generated/numpy.where https://numpy.org/doc/stable/reference/generated/numpy.choose https://numpy.org/doc/stable/reference/generated/numpy.select https://numpy.org/doc/stable/reference/generated/numpy.nonzero
https://numpy.org/doc/stable/reference/generated/numpy.transpose
https://numpy.org/doc/stable/reference/generated/numpy.flip https://numpy.org/doc/stable/reference/generated/numpy.fliplr https://numpy.org/doc/stable/reference/generated/numpy.flipud