0Pricing
Pandas & NumPy Academy · Lekcja

Tworzenie tablic NumPy

Tworzyć tablice 1D i 2D za pomocą np.array, np.zeros, np.ones i np.arange, a następnie sprawdzać ich shape i dtype

Tworzenie tablic NumPy to bezpłatna lekcja Pandas & NumPy Academy na CoddyKit. To lekcja 1 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Pandas & NumPy Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Pandas & NumPy Academy zawiera 4 lekcji w sumie.

Czym jest tablica NumPy?

NumPy to podstawowa biblioteka Pythona do obliczeń numerycznych. Jej sercem jest ndarray — siatka wartości tego samego typu, znacznie szybsza i zajmująca mniej pamięci niż lista.

import numpy as np

# NumPy arrays are fast, typed, and memory-efficient
print(np.__version__)

Tworzenie tablic z list

Najprostszy sposób utworzenia tablicy to przekazanie listy do np.array(). NumPy sam wybiera dla niej dtype, a lista list staje się macierzą 2D.

import numpy as np

a = np.array([1, 2, 3, 4, 5])
print(a)          # [1 2 3 4 5]
print(a.dtype)    # int64

m = np.array([[1, 2, 3], [4, 5, 6]])
print(m.shape)    # (2, 3)

np.zeros i np.ones

Potrzebna jest pusta tablica? np.zeros wypełnia ją wartościami 0.0, a np.ones wartościami 1.0 — idealnie nadają się do przygotowania tablicy przed obliczeniem właściwych wartości.

import numpy as np

z = np.zeros(5)
print(z)          # [0. 0. 0. 0. 0.]

o = np.ones((3, 4))
print(o.shape)    # (3, 4)
print(o.dtype)    # float64

np.arange dla sekwencji liczb całkowitych

np.arange działa podobnie jak Pythonowe range, ale zwraca tablicę. Należy podać początek, koniec i krok — wartość końcowa nie jest uwzględniana.

import numpy as np

a = np.arange(0, 10, 2)
print(a)   # [0 2 4 6 8]

b = np.arange(1.0, 2.0, 0.25)
print(b)   # [1.   1.25 1.5  1.75]

np.linspace dla równomiernie rozmieszczonych liczb zmiennoprzecinkowych

Potrzebne są równomiernie rozmieszczone liczby zmiennoprzecinkowe? np.linspace zwraca określoną liczbę wartości między dwoma końcami przedziału, uwzględniając oba — bez narastającego błędu zaokrągleń.

import numpy as np

x = np.linspace(0, 1, 5)
print(x)   # [0.   0.25 0.5  0.75 1.  ]

y = np.linspace(0, 360, 7)
print(y)   # [  0.  60. 120. 180. 240. 300. 360.]

np.full i np.eye

Za pomocą np.full można wypełnić tablicę dowolną stałą wartością, a np.eye tworzy macierz jednostkową — jedynki znajdują się na przekątnej, a zera wszędzie indziej.

import numpy as np

f = np.full((2, 3), 7)
print(f)
# [[7 7 7]
#  [7 7 7]]

I = np.eye(3)
print(I)
# [[1. 0. 0.]
#  [0. 1. 0.]
#  [0. 0. 1.]]

Określanie dtype podczas tworzenia

Każda tablica ma jeden typ dtype dla wszystkich swoich wartości. Można ustawić go samodzielnie za pomocą dtype= — na przykład wybór float32 zamiast float64 może zmniejszyć zużycie pamięci o połowę.

import numpy as np

a = np.array([1, 2, 3], dtype=np.float32)
print(a.dtype)     # float32
print(a.nbytes)    # 12  (3 elements x 4 bytes)

b = np.zeros(4, dtype=np.int32)
print(b.dtype)     # int32

Losowe tablice z np.random

Potrzebne są losowe dane? np.random wygeneruje je za Państwa. Najpierw należy ustawić ziarno, aby przy każdym uruchomieniu otrzymywać te same liczby — jest to kluczowe w powtarzalnych eksperymentach. 🎲

import numpy as np

np.random.seed(42)
u = np.random.rand(3, 3)   # uniform [0, 1)
print(u)

n = np.random.randn(5)     # standard normal
print(n.round(2))

Sprawdzanie kształtu i wymiarów tablicy

Po utworzeniu tablicy zwykle sprawdza się jej shape — krotkę rozmiarów poszczególnych wymiarów. Atrybut .ndim pozwala sprawdzić, ile wymiarów ma tablica.

import numpy as np

a = np.arange(12)
print(a.shape)   # (12,)
print(a.ndim)    # 1

m = a.reshape(3, 4)
print(m.shape)   # (3, 4)
print(m.ndim)    # 2

Konwertowanie list i krotek

np.array() przyjmuje nie tylko listy — działają również krotki, zakresy, a nawet inne tablice. Należy tylko unikać ragged list wewnętrznych, które niweczą szybkość NumPy.

import numpy as np

# From tuple
t = np.array((10, 20, 30))
print(t)   # [10 20 30]

# From range
r = np.array(range(5))
print(r)   # [0 1 2 3 4]

# Nested lists -> 2D
m = np.array([[1, 2], [3, 4], [5, 6]])
print(m.shape)  # (3, 2)

np.empty dla niezainicjalizowanych tablic

np.empty rezerwuje pamięć bez jej wypełniania, więc działa nieco szybciej niż zeros. Wadą jest to, że zawiera pozostałości wcześniejszych danych — przed odczytem zawsze należy coś do niej zapisać.

import numpy as np

buf = np.empty(5)
# Values are garbage — do NOT read before writing
for i in range(5):
    buf[i] = i * 2
print(buf)  # [0. 2. 4. 6. 8.]

Szybki test

Sprawdź swoją wiedzę na temat tworzenia tablic NumPy z tego rozdziału.

Podsumowanie rozdziału

Dobra robota! Można konwertować listy na tablice za pomocą np.array() oraz tworzyć tablice od podstaw przy użyciu zeros, ones, arange i linspace. Następny temat: atrybuty tablic.

Często zadawane pytania

Czy lekcja „Tworzenie tablic NumPy” jest bezpłatna?

Tak — pełny tekst „Tworzenie tablic NumPy” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Pandas & NumPy Academy, przejdź na CoddyKit PRO. Kurs Pandas & NumPy Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Tworzenie tablic NumPy”?

Tworzyć tablice 1D i 2D za pomocą np.array, np.zeros, np.ones i np.arange, a następnie sprawdzać ich shape i dtype Ćwiczysz Pandas & NumPy Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Pandas & NumPy Academy?

Nie wymagamy żadnego doświadczenia. Pandas & NumPy Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 1 z 4.

Ile czasu zajmuje lekcja „Tworzenie tablic NumPy”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Pandas & NumPy Academy?

Tak. Każda lekcja Pandas & NumPy Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Tworzenie tablic NumPy
  2. Atrybuty tablic i ich inspekcja
  3. Działania arytmetyczne element po elemencie
  4. Wycinanie i indeksowanie tablic
← Powrót do Pandas & NumPy Academy