
W świecie obliczeń numerycznych w Pythonie biblioteka NumPy to jedno z najpotężniejszych narzędzi do pracy z tablicami i macierzami. Jedną z podstawowych funkcji dostępnych w tej bibliotece jest numpy.ones()
, która pozwala na tworzenie tablic wypełnionych jedynkami. W tym artykule wyjaśniam, jak działa numpy.ones oraz jak można ją wykorzystać w praktyce.
Co to jest numpy.ones()?
NumPy oferuje kilka metod do inicjalizacji tablic, a jedną z nich jest numpy.ones()
. Ta funkcja tworzy nową tablicę o zadanym kształcie, wypełnioną jedynkami. Jest to bardzo użyteczne narzędzie, gdy potrzebujemy macierzy z wartościami domyślnymi, które w dalszych obliczeniach będą modyfikowane.
Podstawowa składnia numpy.ones()
Funkcja numpy.ones() ma bardzo prostą składnię:
numpy.ones(shape, dtype=None, order='C')
Przyjrzyjmy się teraz jej argumentom:
- shape – określa rozmiar tworzonej tablicy. Może być liczbą (dla jednowymiarowej tablicy) lub krotką (dla tablic wielowymiarowych).
- dtype – opcjonalny argument definiujący typ danych przechowywanych w tablicy. Domyślnie jest to
float64
. - order – określa kolejność przechowywania danych w pamięci. Może przyjmować wartości
'C'
(dla stylu C, czyli wierszowego) lub'F'
(dla stylu Fortran, czyli kolumnowego).
Przykłady użycia numpy.ones()
Tworzenie jednowymiarowej tablicy
Najprostsze użycie polega na stworzeniu jednowymiarowej tablicy:
import numpy as np
array_1d = np.ones(5)
print(array_1d)
Wynikiem działania powyższego kodu będzie:
[1. 1. 1. 1. 1.]
Tworzenie tablicy dwuwymiarowej
Możemy łatwo utworzyć tablicę dwuwymiarową, przekazując jako argument krotkę:
array_2d = np.ones((3, 4))
print(array_2d)
To da nam macierz 3×4 składającą się z jedynek:
[[1. 1. 1. 1.]
[1. 1. 1. 1.]
[1. 1. 1. 1.]]
Zmiana typu danych
Domyślnie funkcja numpy.ones()
tworzy tablicę z wartościami typu float64
. Możemy jednak zmienić typ na int
, jeśli chcemy pracować z liczbami całkowitymi:
array_int = np.ones((2, 3), dtype=int)
print(array_int)
Wynik:
[[1 1 1]
[1 1 1]]
Porównanie numpy.ones() z innymi metodami inicjalizacji tablic
Oprócz numpy.ones()
istnieją inne funkcje do inicjalizacji tablic w NumPy. Poniżej znajdziesz porównanie najważniejszych z nich:
Funkcja | Opis | Przykład |
---|---|---|
numpy.ones() |
Tworzy tablicę wypełnioną jedynkami. | np.ones((2,2)) |
numpy.zeros() |
Tworzy tablicę wypełnioną zerami. | np.zeros((2,2)) |
numpy.full() |
Tworzy tablicę wypełnioną określoną wartością. | np.full((2,2), 7) |
numpy.empty() |
Tworzy tablicę z losowymi wartościami (niezainicjalizowaną pamięć). | np.empty((2,2)) |
Kiedy warto używać numpy.ones()?
Funkcja numpy.ones()
jest przydatna w wielu sytuacjach, między innymi:
- Gdy potrzebujemy tablicy inicjalizacyjnej do dalszych operacji matematycznych.
- Podczas tworzenia macierzy wag dla algorytmów uczenia maszynowego.
- Do inicjalizacji tablic wartości bazowych w symulacjach i obliczeniach numerycznych.
- Do wypełnienia wartości domyślnych przed ich zastąpieniem rzeczywistymi danymi.
Podsumowanie
Funkcja numpy.ones()
to proste, ale bardzo użyteczne narzędzie podczas pracy z tablicami w NumPy. Dzięki niej możemy łatwo inicjalizować struktury danych wypełnione jedynkami, które można dalej wykorzystywać w różnych obliczeniach. Mam nadzieję, że ten artykuł pomógł Ci zrozumieć, jak działa numpy ones w języku Python i jakie ma praktyczne zastosowania.
Opanuj analizę danych w Pythonie z moim kursem!
Opanujesz podstawy programowania w Pythonie, w tym typy danych, zmienne, listy, słowniki, funkcje oraz obsługę błędów. Nauczysz się korzystać z biblioteki pandas do zaawansowanej analizy danych i pracy z różnymi rodzajami danych. Zrozumiesz proces analizy, eksploracji (EDA) i wizualizacji. Tworzenie własnych funkcji przygotuje Cię do rozmów kwalifikacyjnych i rozwiązywania rzeczywistych problemów biznesowych.
Zostań analitykiem danych – dołącz do KajoDataSpace!
Najlepsza ścieżka do zawodu analityka danych. Dostęp do pełnych wersji kursów online z Excela, SQLa, Tableau i Pythona z certyfikatami + specjalistycznych webinarów z PowerBI.
Ekskluzywana ale pomagająca sobie społeczność.
Ponad 61 godzin materiałów video.
Spotkania LIVE co miesiąc.
Mój osobisty mentoring.