numpy.zeros() i Python

Numpy.zeros() i Python: En omfattande guide

Inledning

Numpy, Python-biblioteket för numerisk beräkning, tillhandahåller en mängd funktioner för att skapa och manipulera matriser och arrayer. En av de mest grundläggande funktionerna är numpy.zeros(), som används för att skapa en matris eller array fylld med nollor. I den här guiden kommer vi att dyka djupt in i numpy.zeros(), med fokus på dess syntax, parametrar, användningsområden och exempel.

Syntax

Grundläggande syntax

python
numpy.zeros(shape, dtype=float, order='C')

Parametrar

* shape: En tuple eller lista som anger formen på den resulterande matrisen eller arrayen.
* dtype (valfritt): Datatypen för elementen i den resulterande matrisen eller arrayen. Standard är float.
* order (valfritt): Anger ordningen på matrisens eller arrayens dimensioner. Kan vara antingen 'C' (row-major) eller 'F' (column-major). Standard är 'C'.

Användningsområden

numpy.zeros() används främst för att skapa matriser eller arrayer fyllda med nollor. Dessa matriser eller arrayer kan användas i en mängd olika sammanhang, till exempel:

* Initialisering av matriser eller arrayer innan de fylls med andra värden.
* Skapande av masker eller indikatorer.
* Som platsinnehavare i beräkningar.

Exempel

Skapa en 2D-matris fylld med nollor

python
import numpy as np

Skapa en 2D-matris med 3 rader och 4 kolumner

matris = np.zeros((3, 4))

Skriv ut matrisen

print(matris)

Skapa en 1D-array fylld med nollor

python

Skapa en 1D-array med 5 element

array = np.zeros(5)

Skriv ut arrayen

print(array)

Skapa en matris fylld med nollor av en viss datatyp

python

Skapa en 2D-matris med 3 rader och 4 kolumner av typen int32

matris = np.zeros((3, 4), dtype=np.int32)

Skriv ut matrisen, som nu innehåller nollor av typen int32

print(matris)

Avancerade funktioner

Förutom grundläggande användningsområden erbjuder numpy.zeros() flera avancerade funktioner:

out-parametern

out-parametern kan användas för att ange en befintlig matris eller array där resultatet ska lagras. Detta kan förbättra prestandan genom att undvika att skapa en ny matris eller array.

python

Skapa en befintlig array

befintlig_array = np.empty(5)

Skapa en 1D-array fylld med nollor och lagra resultatet i befintlig_array

np.zeros(5, out=befintlig_array)

Skriv ut befintlig_array, som nu innehåller nollor

print(befintlig_array)

subok-parametern

subok-parametern anger om en subklass av den angivna datatypen ska accepteras. Standard är True.

python

Skapa en 2D-matris med 3 rader och 4 kolumner av typen np.matrix

matris = np.zeros((3, 4), dtype=np.matrix, subok=True)

Skriv ut matrisen, som nu innehåller nollor av typen np.matrix

print(matris)

like-parametern

like-parametern kan användas för att skapa en matris eller array med samma form och datatyp som en befintlig matris eller array.

python

Skapa en befintlig matris

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

Skapa en 2D-matris med samma form och datatyp som befintlig_matris

matris = np.zeros_like(befintlig_matris)

Skriv ut matrisen, som nu innehåller nollor och har samma form och datatyp som befintlig_matris

print(matris)

Slutsats

numpy.zeros() är en mångsidig och kraftfull funktion som används för att skapa matriser eller arrayer fyllda med nollor. Den används i en mängd olika sammanhang, från initialisering av data till skapande av masker. Genom att förstå dess syntax, parametrar och avancerade funktioner kan du effektivt utnyttja denna funktion för att lösa olika problem inom numerisk beräkning.

Vanliga frågor (FAQs)

1. Vad är skillnaden mellan numpy.zeros() och numpy.empty()?

* numpy.zeros() skapar en matris eller array fylld med nollor, medan numpy.empty() skapar en matris eller array med oinitialiserade värden.

2. Kan jag skapa en 3D-matris med numpy.zeros()?

* Ja, du kan använda en tuple eller lista med tre element för att ange formen på en 3D-matris.

3. Hur ändrar jag datatypen på elementen i en matris skapad med numpy.zeros()?

* Använd astype()-metoden för att konvertera elementen till önskad datatyp.

4. Kan jag använda numpy.zeros() för att skapa en matris med komplexa tal?

* Ja, använd dtype=np.complex-parametern för att skapa en matris fylld med komplexa nollor.

5. Hur använder jag out-parametern?

* Ange en befintlig matris eller array i out-parametern för att lagra resultatet av numpy.zeros() i den arrayen.

6. Vad är subok-parametern för?

* subok anger om en subklass av den angivna datatypen ska accepteras.

7. Kan jag skapa en matris fylld med nollor från en befintlig matris?

* Ja, använd numpy.zeros_like()-funktionen för att skapa en matris med samma form och datatyp som en befintlig matris.

8. Hur förbättrar out-parametern prestandan?

* out-parametern undviker att skapa en ny matris eller array, vilket kan förbättra prestandan, särskilt för stora matriser eller arrayer.

9. Vad är fördelen med att använda like-parametern?

* like-parametern säkerställer att den resulterande matrisen eller arrayen har samma form och datatyp som den befintliga matrisen eller arrayen, vilket eliminerar behovet av ytterligare omformning eller konvertering.

10. När är det fördelaktigt att använda numpy.zeros()?

* numpy.zeros() är fördelaktigt när du behöver skapa en matris eller array fylld med nollor för initialisering, maskering eller som platsinnehavare i beräkningar.