arrange() i reshape()

W bibliotece NumPy istnieją dwa ważne narzędzia służące do tworzenia i modyfikowania tablic: arange i reshape.

Funkcja arange pozwala na tworzenie tablicy NumPy z kolejnymi liczbami w określonym przedziale. Działa ona podobnie do funkcji range w Pythonie, ale zamiast listy tworzy tablicę NumPy. Funkcja ta jest bardzo przydatna, gdy chcemy szybko utworzyć tablicę z danymi uporządkowanymi lub posiadającymi określony wzór.

Funkcja reshape służy do zmiany kształtu tablicy, tzn. do zmiany liczby wierszy i kolumn tablicy. Dzięki tej funkcji możliwe jest przekształcenie jednowymiarowej tablicy w tablicę dwuwymiarową lub odwrotnie. Funkcja reshape jest przydatna, gdy chcemy zmienić sposób przedstawienia danych lub gdy potrzebujemy przygotować dane do dalszych obliczeń.

W artykule przedstawimy przykłady użycia funkcji arange i reshape oraz pokażemy, jak te narzędzia mogą być wykorzystywane w różnych sytuacjach. Omówimy również szczegóły działania tych funkcji oraz ich dostępne opcje.

Zastosowanie arrange():

import numpy as np

# Tworzenie tablicy z liczbami od 0 do 9
a = np.arange(10)
print(a)  # [0 1 2 3 4 5 6 7 8 9]

# Tworzenie tablicy z liczbami od 2 do 8 (bez ostatniej)
b = np.arange(2, 8)
print(b)  # [2 3 4 5 6 7]

# Tworzenie tablicy z liczbami od 1 do 10 z krokiem 2
c = np.arange(1, 11, 2)
print(c)  # [1 3 5 7 9]

Funkcja arange może również przyjmować argument typu float, w takim przypadku krok między kolejnymi elementami nie jest już koniecznie całkowity.

import numpy as np

# Tworzenie tablicy z liczbami od 0 do 1 z krokiem 0.2
a = np.arange(0, 1.2, 0.2)
print(a)  # [0.  0.2 0.4 0.6 0.8 1. ]

Zastosowanie reshape():

import numpy as np

# Tworzenie jednowymiarowej tablicy z liczbami od 0 do 9
a = np.arange(10)
print(a)  # [0 1 2 3 4 5 6 7 8 9]

# Zmiana kształtu tablicy na 2 wiersze i 5 kolumn
b = a.reshape((2, 5))
print(b)
# [[0 1 2 3 4]
#  [5 6 7 8 9]]

# Zmiana kształtu tablicy na 5 wierszy i 2 kolumn
c = b.reshape((5, 2))
print(c)
# [[0 1]
#  [2 3]
#  [4 5]
#  [6 7]
#  [8 9]]

# Zmiana kształtu tablicy na jednowymiarową
d = c.reshape((10,))
print(d)  # [0 1 2 3 4 5 6 7 8 9]

Funkcja reshape zachowuje kolejność elementów tablicy, tzn. elementy są przepisywane do nowej tablicy w kolejności od lewej do prawej i od góry do dołu.