import numpy as np
# Promień koła
r = 5.0
# Obwód koła: 2 * π * r
obwod = 2 * np.pi * r
print("Obwód koła:", obwod)
# Pole koła: π * r^2
pole = np.pi * r**2
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.141592653589793numpy.e
e.e jest wykorzystywane w wielu dziedzinach, takich jak analiza matematyczna, probabilistyka, statystyka.2.718281828459045numpy.eulergamma
0.5772156649015329import numpy as np
# Promień koła
r = 5.0
# Obwód koła: 2 * π * r
obwod = 2 * np.pi * r
print("Obwód koła:", obwod)
# Pole koła: π * r^2
pole = np.pi * r**2
print("Pole koła:", pole)Obwód koła: 31.41592653589793
Pole koła: 78.53981633974483
import numpy as np
# Przykładowy punkt x
x = 1.0
# Wartość funkcji e^x
exp_value = np.e**x
print("e^x dla x=1:", exp_value)
# Porównanie z funkcją np.exp
exp_compare = np.exp(x)
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.infnp.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
arr = np.array([1, 2, np.inf, 4, 5])
mask = np.isinf(arr)
print("Maska elementów o wartości inf:", mask)Maska elementów o wartości inf: [False False True False False]
numpy.nannp.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
data = np.array([1, 2, np.nan, 4, np.nan])
print("Oryginalne dane:", data)
# Wypełnienie wartości nan zerem
data_no_nan = np.nan_to_num(data, nan=0.0)
print("Dane bez nan:", data_no_nan)Oryginalne dane: [ 1. 2. nan 4. nan]
Dane bez nan: [1. 2. 0. 4. 0.]
numpy.newaxisnp.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
vec = np.array([1, 2, 3, 4])
print("Oryginalna tablica:", vec, "Kształt:", vec.shape)
# Dodajemy nowy wymiar jako wymiar wierszy
vec_as_col = vec[:, np.newaxis]
print("Tablica jako kolumna:\n", vec_as_col, "Kształt:", vec_as_col.shape)
# Dodawanie wymiaru na początku
vec_as_row = vec[np.newaxis, :]
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
a = np.array([10, 20, 30])
b = np.array([1, 2])
# 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
sum_matrix = a[:, np.newaxis] + b
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