Přejít na hlavní obsah

Jak vytvořit pole numpy a vyplnit jej

Numery (Numerical Python) je knihovna programovacího jazyka Python, která poskytuje pole multidimenzionálních dat a četné funkce pro práci s nimi. Vytvoření pole numpy a jeho vyplnění je jedním z prvních úkolů při používání této knihovny.

Vytvoření pole numpy lze provést pomocí funkce numpy.array(). Jako argument funkce je předán seznam nebo součet prvků, které by měly být v poli.

import numpy as np

arr = np.array([1, 2, 3, 4, 5])

V tomto příkladu jsme vytvořili jednorozměrné pole s prvky 1, 2, 3, 4, 5.

Pokud chcete vytvořit multidimenzionální pole, pak jako argument funkce numpy.array() předává se seznam nebo kolona ze seznamů nebo kolon.

import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

V tomto příkladu jsme vytvořili dvourozměrné pole o velikosti 3x3 s prvky čísel od 1 do 9.

Co je pole numpy

Pole numpy mohou mít libovolný počet měření a velikostí a umožňují pohodlné ukládání a manipulaci s daty. Umožňují provádět matematické operace najednou nad všemi prvky pole, díky čemuž jsou velmi užitečné pro práci s velkým množstvím dat.

K vytvoření pole numpy se používá funkce numpy.array(). Pole lze vyplnit hodnotami daného typu dat pomocí seznamů, Nort nebo jiných polí. Pomocí funkcí numpy lze také vytvořit pole naplněné nulami nebo jednotkami.zeros () a numpy.ones (), respektive.

Je důležité poznamenat, že pole numpy jsou proměnlivé objekty, takže je lze změnit bez vytvoření nového pole. Kromě toho pole numpy podporují různé operace, jako je sčítání, odčítání, násobení a dělení prvků pole.

Vytvoření pole

K vytvoření pole se v knihovně NumPy používá funkce numpy.array. Umožňuje vytvářet vícerozměrná pole různých tvarů a vyplňovat je prvky.

Příklad vytvoření jednorozměrného pole:

import numpy as nparr = np.array([1, 2, 3, 4, 5])

V tomto příkladu jsme předali seznam [1, 2, 3, 4, 5] působnost numpy.array a z těchto prvků vytvořila jednorozměrné pole.

Příklad vytvoření dvourozměrného pole:

import numpy as nparr = np.array([[1, 2, 3], [4, 5, 6]])

V tomto příkladu jsme předali seznam seznamů [[1, 2, 3], [4, 5, 6]] působnost numpy.array a z těchto prvků vytvořila dvourozměrné pole.

Existují také další funkce pro vytváření polí, například, numpy.zeros pro vytvoření pole nul, numpy.ones k vytvoření řady jednotek a numpy.arange Chcete-li vytvořit pole s postupně rostoucími hodnotami.

Při vytváření pole můžete pomocí argumentu nastavit jeho datový typ dtype. Například:

import numpy as nparr = np.array([1, 2, 3, 4, 5], dtype=float)

V tomto příkladu jsme nastavili datový typ prvků pole jako float.

Vytvoření prázdného pole

K vytvoření prázdného pole v knihovně NumPy lze použít funkci numpy.empty. Tato funkce vytvoří pole dané velikosti naplněné náhodnými hodnotami z paměti, aniž by ji explicitně inicializovala.

Zde je příklad použití funkce numpy.empty:

import numpy as np
arr = np.empty((3, 2))
print(arr)

[[-2.68156159e+154-2.68156159e+154]
[ 2.96439388e-323 0.00000000e+000]
[ 0.00000000e+000 nan]]

V tomto příkladu jsme vytvořili prázdné pole o rozměrech 3x2. Hodnoty prvků pole jsou náhodné a mohou to být velmi velká čísla nebo speciální hodnoty, jako je "nan" (ne číslo).

Je důležité poznamenat, že hodnoty ve vytvořeném prázdném poli nejsou inicializovány a mohou být jakékoli. Před použitím pole by proto mělo být v případě potřeby explicitně inicializováno.

Vytvoření pole ze seznamu

Pokud máte seznam hodnot, můžete z tohoto seznamu snadno vytvořit pole numpy. K tomu lze využít funkci numpy.array() . Níže je uveden příklad:

import numpy as np

my_list = [1, 2, 3, 4, 5]
arr = np.array(my_list)

V tomto příkladu jsme importovali modul numpy a vytvořili seznam my_list s pěti hodnotami. Poté jsme použili funkci numpy.array (), předáním seznamu jako argument pro vytvoření pole numpy arr . Nakonec jsme pole přenesli na obrazovku.

Vytvoření pole daného tvaru

V knihovně NumPy lze k vytvoření pole daného tvaru použít funkci numpy.zeros . Tato funkce vytvoří nové pole dané velikosti a vyplní jej nulami.

Chcete-li vytvořit pole z nul daného tvaru, musíte jej přenést do funkce numpy.zeros jako argument obsahuje rozměry pole pro každou dimenzi. Chcete-li například vytvořit pole o velikosti 3x4, musíte do funkce přenést argument (3, 4) . Výsledkem bude pole o velikosti 3x4 vyplněné nulami.

import numpy as np# Создание массива размером 3x4, заполненного нулямиarray = np.zeros((3, 4))print(array)
[[0. 0. 0. 0.][0. 0. 0. 0.][0. 0. 0. 0.]]

Tedy pomocí funkce numpy.zeros, můžete snadno vytvořit pole zadaného formuláře a vyplnit jej nulami.

Vyplnění pole

K vytvoření pole numpy a jeho vyplnění lze použít různé metody. Níže jsou uvedeny příklady nejběžnějších způsobů:

  • Vytvoření pole dané velikosti a jeho vyplnění stejnými hodnotami:
import numpy as nparr = np.full((3, 3), 5)print(arr)

V tomto příkladu je vytvořeno pole o velikosti 3x3 a vyplněno hodnotami 5.

  • Vytvoření pole zadaného formuláře a jeho vyplnění náhodnými čísly:
import numpy as nparr = np.random.rand(2, 2)print(arr)

V tomto příkladu je vytvořeno pole o velikosti 2x2 a vyplněno náhodnými čísly v rozmezí od 0 do 1.

  • Vytvoření pole zadaného formuláře a jeho vyplnění po sobě jdoucími čísly:
import numpy as nparr = np.arange(0, 10, 2)print(arr)

V tomto příkladu se vytvoří pole obsahující čísla od 0 do 10 v krocích po 2.

Můžete si vybrat vhodnou metodu vyplnění pole podle požadovaných hodnot a tvaru.

Vyplnění pole jednou hodnotou

Funkce numpy.full() vytvoří nové pole zadaného formuláře a vyplní jej uvedenou hodnotou. Syntaxe funkce je následující:

numpy.full(shape, fill_value, dtype=None, order='C')

  • shape - tvar pole daný součtem celých čísel;
  • fill_value - hodnota, kterou je třeba vyplnit pole;
  • dtype - volitelné nastavení, které označuje typ dat pole (Výchozí datový typ se používá pro hodnotu fill_value);
  • order - volitelné nastavení, které označuje způsob ukládání položek do paměti (výchozí 'C', což znamená ukládání do paměti na řádcích).

Příklad použití funkce numpy.full():

import numpy as np# Создание массива размером 3x3, заполненного значением 5arr = np.full((3, 3), 5)print(arr)

V důsledku provádění tohoto kódu bude vyvedeno následující:

[[5 5 5][5 5 5][5 5 5]]

Vytvořili jsme tedy pole o velikosti 3x3 a vyplnili jej hodnotou 5.

Vyplnění pole náhodnými hodnotami

K vyplnění pole náhodnými hodnotami lze použít funkci numpy.random.rand(). Tato funkce vytvoří pole zadaného formuláře a vyplní jej náhodnými čísly z rovnoměrného rozložení v intervalu 0 až 1.

import numpy as np# Создание массива размером 3x3 и заполнение его случайными значениямиarray = np.random.rand(3, 3)print(array)
[[0.34598746 0.82349736 0.50025712][0.85245537 0.92163581 0.17498896][0.7319938 0.08350144 0.71209941]]

K dispozici je také možnost používat další funkce z modulu numpy.random pro vyplnění pole náhodnými hodnotami z jiných distribucí, například: numpy.random.randn () pro normální distribuci, numpy.random.randint() pro celočíselné hodnoty atd.

Vyplnění pole po sobě jdoucími hodnotami

NumPy poskytuje praktické funkce pro vytváření polí s hodnotami, které se postupně zvětšují nebo zmenšují o určitou hodnotu.

Pokud potřebujete vytvořit pole se sériovými hodnotami, můžete použít funkci Orange . Vytváří jednorozměrné pole a vyplňuje jej hodnotami od počátečního po koncový s určitým krokem.

Příklad použití funkce Orange :

import numpy as nparray = np.arange(0, 10, 2)print(array)

Výsledek provádění kódu:

[0 2 4 6 8]

V tomto příkladu jsme vytvořili pole od 0 do 8 v krocích po 2. Pole tedy obsahuje hodnoty 0, 2, 4, 6 a 8.

Pokud potřebujete vytvořit pole s určitým počtem hodnot, můžete použít funkci linspace . Vytváří jednorozměrné pole tím, že jej naplní hodnotami rovnoměrně rozloženými v uvedeném rozsahu.

Příklad použití funkce linspace :

import numpy as nparray = np.linspace(0, 1, 5)print(array)

Výsledek provádění kódu:

[0. 0.25 0.5 0.75 1. ]

V tomto příkladu jsme vytvořili pole od 0 do 1 obsahující 5 hodnot, které jsou od sebe vzdáleny.

Pomocí funkcí arange a linspace tedy můžete snadno vytvářet pole s hodnotami, které se postupně zvětšují nebo zmenšují o určitý krok nebo jsou rovnoměrně rozloženy v daném rozsahu.

Vyplnění pole ze souboru

Pokud máte soubor s daty, můžete počítat jeho obsah a vyplnit jimi pole numpy. K tomu existuje několik metod v knihovně numpy.

Jedním ze způsobů je použití funkce loadtxt (), která Vám umožňuje číst data z textového souboru. Příklad použití:

import numpy as npdata = np.loadtxt('data.txt')

V tomto případě Soubor data.txt musí obsahovat data oddělená mezerami nebo jiným oddělovacím symbolem.

Pokud soubor obsahuje záhlaví nebo jiné nečistoty, které není třeba číst, můžete použít možnost skiprows k určení počtu řádků, které chcete přeskočit:

data = np.loadtxt('data.txt', skiprows=1)

Můžete také určit, které sloupce je třeba číst pomocí možnosti usecols . Číslování sloupců začíná na 0. Například počítat pouze první a třetí sloupce:

data = np.loadtxt('data.txt', usecols=(0, 2))

Pokud váš soubor obsahuje nejen čísla, ale i jiné datové typy, můžete použít možnost dtype k určení datového typu každého sloupce. Například pro čtení prvního sloupce jako celých čísel a druhého jako čísel s plovoucí desetinnou čárkou s dvojitou přesností:

data = np.loadtxt('data.txt', dtype=)

Po přečtení dat ze souboru můžete k dalšímu zpracování použít proměnnou data jako pole numpy.