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
Ultimate NumPy

bookFunzioni di Creazione per Array 1D

Oltre alla creazione di array di base tramite la specifica esplicita degli elementi, numpy consente anche la creazione automatica di array utilizzando funzioni speciali. Ecco due delle funzioni più comuni per creare array esclusivamente monodimensionali:

  • arange();
  • linspace().

arange()

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

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

Di seguito sono riportati i suoi tre parametri più importanti e i rispettivi 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()

Sebbene arange() possa lavorare con numeri reali, numpy.linspace() è preferito rispetto a numpy.arange() per questo scopo perché arange() può produrre risultati inaspettati a causa di errori di precisione dei numeri in virgola mobile durante il calcolo dei 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, è presente il 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 si esclude il valore stop, riducendo leggermente la dimensione del passo.

Segue 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][0, 1] viene suddiviso in 4 segmenti uguali e include l'estremo stesso (1), con una dimensione del passo pari a (10)/4=0.25(1 - 0) / 4 = 0.25.

Quando endpoint=False, l'intervallo [0,1)[0, 1) viene suddiviso in 5 segmenti uguali poiché l'estremo viene escluso, con una dimensione del passo pari a (10)/5=0.2(1 - 0) / 5 = 0.2.

Compito

Swipe to start coding

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

Soluzione

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 1. Capitolo 4
single

single

Chieda ad AI

expand

Chieda ad AI

ChatGPT

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

Suggested prompts:

Can you explain the difference between arange() and linspace() in more detail?

What are some common use cases for arange() and linspace()?

How does floating-point precision affect the results of arange()?

close

Awesome!

Completion rate improved to 3.7

bookFunzioni di Creazione per Array 1D

Scorri per mostrare il menu

Oltre alla creazione di array di base tramite la specifica esplicita degli elementi, numpy consente anche la creazione automatica di array utilizzando funzioni speciali. Ecco due delle funzioni più comuni per creare array esclusivamente monodimensionali:

  • arange();
  • linspace().

arange()

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

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

Di seguito sono riportati i suoi tre parametri più importanti e i rispettivi 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()

Sebbene arange() possa lavorare con numeri reali, numpy.linspace() è preferito rispetto a numpy.arange() per questo scopo perché arange() può produrre risultati inaspettati a causa di errori di precisione dei numeri in virgola mobile durante il calcolo dei 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, è presente il 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 si esclude il valore stop, riducendo leggermente la dimensione del passo.

Segue 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][0, 1] viene suddiviso in 4 segmenti uguali e include l'estremo stesso (1), con una dimensione del passo pari a (10)/4=0.25(1 - 0) / 4 = 0.25.

Quando endpoint=False, l'intervallo [0,1)[0, 1) viene suddiviso in 5 segmenti uguali poiché l'estremo viene escluso, con una dimensione del passo pari a (10)/5=0.2(1 - 0) / 5 = 0.2.

Compito

Swipe to start coding

  1. Utilizzare la funzione arange() per creare l'array even_numbers.
  2. Specificare gli argomenti per creare un array di numeri pari da 2 a 21 escluso.
  3. Utilizzare la funzione appropriata per creare l'array samples, che consente di specificare il numero di valori all'interno di un determinato intervallo.
  4. Specificare i primi tre argomenti per creare un array di 10 numeri equidistanti tra 5 e 6.
  5. Assicurarsi 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
single

single

some-alt