Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Funzioni di Creazione per Array 1D | Basi di NumPy
Numpy Definitivo

Scorri per mostrare il menu

book
Funzioni di Creazione per Array 1D

Oltre alla creazione di array di base specificando esplicitamente gli elementi, numpy consente anche la creazione automatica di array utilizzando funzioni speciali. Ecco due delle funzioni più comuni per creare array esclusivamente 1D:

  • arange();

  • linspace().

arange()

La funzione numpy.arange() è simile alla funzione range() incorporata in Python; tuttavia, restituisce un ndarray. In sostanza, crea un array con elementi equidistanti all'interno di un intervallo specificato.

Ad esempio, se l'intervallo specificato è da 0 a 10 con un passo di 2, l'array risultante sarebbe: [0, 2, 4, 6, 8].

Ecco i suoi tre parametri più importanti e i loro ruoli:

  1. start:

    • Valore predefinito: 0;

    • Rappresenta il primo elemento dell'array.

  2. stop:

    • Nessun valore predefinito;

    • Definisce il punto finale, che non è incluso nell'array.

  3. step:

    • Valore predefinito: 1;

    • Specifica l'incremento aggiunto a ciascun elemento successivo.

12345678910
import numpy as np # Creating an array of integers from 0 to 11 exclusive with step=1 array_1 = np.arange(11) print(array_1) # Creating an array of integers from 1 to 11 exclusive with step=1 array_2 = np.arange(1, 11) print(array_2) # Creating an array of integers from 0 to 11 exclusive with step=2 array_3 = np.arange(0, 11, 2) print(array_3)
copy

linspace()

Mentre arange() può funzionare con numeri reali, numpy.linspace() è preferito rispetto a numpy.arange() per questo scopo perché arange() può produrre risultati inaspettati a causa degli errori di precisione dei numeri in virgola mobile quando si calcolano i passi. Al contrario, linspace() genera un numero specifico di punti equidistanti all'interno di un intervallo, garantendo accuratezza e coerenza.

Con linspace(), invece del parametro step, c'è un parametro num utilizzato per specificare il numero di campioni (numeri) all'interno di un dato intervallo (il valore predefinito è 50).

1234567
import numpy as np # Generating 5 equally spaced values between 0 and 1 (inclusive) array_1 = np.linspace(0, 1, 5) print('Example 1:', array_1) # Generating 7 equally spaced values between -1 and 1 (inclusive) array_2 = np.linspace(-1, 1, 7) print('Example 2:', array_2)
copy

Endpoint

Il parametro endpoint determina se il valore stop è incluso. Per impostazione predefinita, è True (inclusivo). Impostandolo su False esclude il valore stop, riducendo leggermente la dimensione del passo.

Ecco un confronto tra array_inclusive e array_exclusive:

1234567
import numpy as np # Generating 5 equally spaced values between 0 and 1 (inclusive) array_inclusive = np.linspace(0, 1, 5) print('Endpoint = True:', array_inclusive) # Generating 5 equally spaced values between 0 and 1 (exclusive) array_exclusive = np.linspace(0, 1, 5, endpoint=False) print('Endpoint = False:', array_exclusive)
copy

Quando endpoint=True, l'intervallo [0, 1] è diviso in 4 segmenti uguali e include lo stesso endpoint (1), risultando in una dimensione del passo di (1 - 0) / 4 = 0.25.

Quando endpoint=False, l'intervallo [0, 1) è diviso in 5 segmenti uguali poiché l'endpoint è escluso, risultando in una dimensione del passo di (1 - 0) / 5 = 0.2.

Nota

Puoi sempre saperne di più su queste funzioni nella loro documentazione: arange, linspace.

Compito

Swipe to start coding

  1. Usa la funzione arange() per creare l'array even_numbers.
  2. Specifica gli argomenti per creare un array di numeri pari da 2 a 21 escluso.
  3. Usa la funzione appropriata per creare l'array samples, che consente di specificare il numero di valori all'interno di un dato intervallo.
  4. Specifica i primi tre argomenti per creare un array di 10 numeri equidistanti tra 5 e 6.
  5. Assicurati che 6 non sia incluso nell'array samples.

Soluzione

Switch to desktopCambia al desktop per esercitarti nel mondo realeContinua da dove ti trovi utilizzando una delle opzioni seguenti
Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 1. Capitolo 4
Siamo spiacenti che qualcosa sia andato storto. Cosa è successo?

Chieda ad AI

expand
ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

book
Funzioni di Creazione per Array 1D

Oltre alla creazione di array di base specificando esplicitamente gli elementi, numpy consente anche la creazione automatica di array utilizzando funzioni speciali. Ecco due delle funzioni più comuni per creare array esclusivamente 1D:

  • arange();

  • linspace().

arange()

La funzione numpy.arange() è simile alla funzione range() incorporata in Python; tuttavia, restituisce un ndarray. In sostanza, crea un array con elementi equidistanti all'interno di un intervallo specificato.

Ad esempio, se l'intervallo specificato è da 0 a 10 con un passo di 2, l'array risultante sarebbe: [0, 2, 4, 6, 8].

Ecco i suoi tre parametri più importanti e i loro ruoli:

  1. start:

    • Valore predefinito: 0;

    • Rappresenta il primo elemento dell'array.

  2. stop:

    • Nessun valore predefinito;

    • Definisce il punto finale, che non è incluso nell'array.

  3. step:

    • Valore predefinito: 1;

    • Specifica l'incremento aggiunto a ciascun elemento successivo.

12345678910
import numpy as np # Creating an array of integers from 0 to 11 exclusive with step=1 array_1 = np.arange(11) print(array_1) # Creating an array of integers from 1 to 11 exclusive with step=1 array_2 = np.arange(1, 11) print(array_2) # Creating an array of integers from 0 to 11 exclusive with step=2 array_3 = np.arange(0, 11, 2) print(array_3)
copy

linspace()

Mentre arange() può funzionare con numeri reali, numpy.linspace() è preferito rispetto a numpy.arange() per questo scopo perché arange() può produrre risultati inaspettati a causa degli errori di precisione dei numeri in virgola mobile quando si calcolano i passi. Al contrario, linspace() genera un numero specifico di punti equidistanti all'interno di un intervallo, garantendo accuratezza e coerenza.

Con linspace(), invece del parametro step, c'è un parametro num utilizzato per specificare il numero di campioni (numeri) all'interno di un dato intervallo (il valore predefinito è 50).

1234567
import numpy as np # Generating 5 equally spaced values between 0 and 1 (inclusive) array_1 = np.linspace(0, 1, 5) print('Example 1:', array_1) # Generating 7 equally spaced values between -1 and 1 (inclusive) array_2 = np.linspace(-1, 1, 7) print('Example 2:', array_2)
copy

Endpoint

Il parametro endpoint determina se il valore stop è incluso. Per impostazione predefinita, è True (inclusivo). Impostandolo su False esclude il valore stop, riducendo leggermente la dimensione del passo.

Ecco un confronto tra array_inclusive e array_exclusive:

1234567
import numpy as np # Generating 5 equally spaced values between 0 and 1 (inclusive) array_inclusive = np.linspace(0, 1, 5) print('Endpoint = True:', array_inclusive) # Generating 5 equally spaced values between 0 and 1 (exclusive) array_exclusive = np.linspace(0, 1, 5, endpoint=False) print('Endpoint = False:', array_exclusive)
copy

Quando endpoint=True, l'intervallo [0, 1] è diviso in 4 segmenti uguali e include lo stesso endpoint (1), risultando in una dimensione del passo di (1 - 0) / 4 = 0.25.

Quando endpoint=False, l'intervallo [0, 1) è diviso in 5 segmenti uguali poiché l'endpoint è escluso, risultando in una dimensione del passo di (1 - 0) / 5 = 0.2.

Nota

Puoi sempre saperne di più su queste funzioni nella loro documentazione: arange, linspace.

Compito

Swipe to start coding

  1. Usa la funzione arange() per creare l'array even_numbers.
  2. Specifica gli argomenti per creare un array di numeri pari da 2 a 21 escluso.
  3. Usa la funzione appropriata per creare l'array samples, che consente di specificare il numero di valori all'interno di un dato intervallo.
  4. Specifica i primi tre argomenti per creare un array di 10 numeri equidistanti tra 5 e 6.
  5. Assicurati che 6 non sia incluso nell'array samples.

Soluzione

Switch to desktopCambia al desktop per esercitarti nel mondo realeContinua da dove ti trovi utilizzando una delle opzioni seguenti
Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 1. Capitolo 4
Switch to desktopCambia al desktop per esercitarti nel mondo realeContinua da dove ti trovi utilizzando una delle opzioni seguenti
Siamo spiacenti che qualcosa sia andato storto. Cosa è successo?
some-alt