Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Ordinamento di Array 2D | Funzioni NumPy Comumente Usate
Numpy Definitivo

Scorri per mostrare il menu

book
Ordinamento di Array 2D

Come puoi vedere, semplicemente passando il nostro array 2D alla funzione sort() ordina ogni array 1D lungo l'asse 1 (che è l'opzione predefinita in un array 2D). Impostando axis=0 si ordina ogni array 1D lungo l'asse 0 (ogni colonna).

Impostando axis=None si ottiene un array 1D ordinato contiguo di tutti gli elementi dell'array 2D.

12345678
import numpy as np array_2d = np.array([[2, 9, 3], [1, 6, 4], [5, 7, 8]]) # Sorting a 2D array along axis 1 print(np.sort(array_2d)) # Sorting a 2D array along axis 0 print(np.sort(array_2d, axis=0)) # Creating a 1D sorted array out of the elements of array_2d print(np.sort(array_2d, axis=None))
copy

Ordinamento di Array 2D in Ordine Decrescente

Quando si ordinano array 2D in ordine decrescente lungo un asse dato, è necessario utilizzare due slice: uno slice completo ([:]) e un altro con un passo negativo ([::-1]). La posizione dello slice con il passo negativo dovrebbe corrispondere all'asse lungo il quale si sta ordinando.

Nota

Quando si ordina lungo l'asse 0, è possibile utilizzare solo uno slice con un passo negativo, poiché già indicizza lungo questo asse.

12345678
import numpy as np array_2d = np.array([[2, 9, 3], [1, 6, 4], [5, 7, 8]]) # Sorting a 2D array along axis 1 in descending order print(np.sort(array_2d)[:, ::-1]) # Sorting a 2D array along axis 0 in descending order print(np.sort(array_2d, axis=0)[::-1]) # Creating a 1D sorted array out of the elements of array_2d in descending order print(np.sort(array_2d, axis=None)[::-1])
copy
Compito

Swipe to start coding

Hai un array 2D chiamato exam_scores contenente i punteggi per ogni esame di una certa materia. Ogni colonna rappresenta una specifica materia, e ogni riga rappresenta un singolo studente. Pertanto, una riga specifica mostra i punteggi di quello studente per ogni esame.

  1. Crea un array 2D NumPy chiamato top_scores_subject basato su exam_scores dove ogni colonna, che rappresenta una certa materia, è ordinata per punteggi in ordine decrescente.

  2. Crea un array 1D NumPy chiamato sorted_scores basato su exam_scores, contenente tutti i punteggi ordinati in ordine crescente.

Facendo ciò, puoi facilmente identificare i punteggi più alti per ogni esame e i punteggi più bassi in tutti gli esami.

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 3. Capitolo 2
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
Ordinamento di Array 2D

Come puoi vedere, semplicemente passando il nostro array 2D alla funzione sort() ordina ogni array 1D lungo l'asse 1 (che è l'opzione predefinita in un array 2D). Impostando axis=0 si ordina ogni array 1D lungo l'asse 0 (ogni colonna).

Impostando axis=None si ottiene un array 1D ordinato contiguo di tutti gli elementi dell'array 2D.

12345678
import numpy as np array_2d = np.array([[2, 9, 3], [1, 6, 4], [5, 7, 8]]) # Sorting a 2D array along axis 1 print(np.sort(array_2d)) # Sorting a 2D array along axis 0 print(np.sort(array_2d, axis=0)) # Creating a 1D sorted array out of the elements of array_2d print(np.sort(array_2d, axis=None))
copy

Ordinamento di Array 2D in Ordine Decrescente

Quando si ordinano array 2D in ordine decrescente lungo un asse dato, è necessario utilizzare due slice: uno slice completo ([:]) e un altro con un passo negativo ([::-1]). La posizione dello slice con il passo negativo dovrebbe corrispondere all'asse lungo il quale si sta ordinando.

Nota

Quando si ordina lungo l'asse 0, è possibile utilizzare solo uno slice con un passo negativo, poiché già indicizza lungo questo asse.

12345678
import numpy as np array_2d = np.array([[2, 9, 3], [1, 6, 4], [5, 7, 8]]) # Sorting a 2D array along axis 1 in descending order print(np.sort(array_2d)[:, ::-1]) # Sorting a 2D array along axis 0 in descending order print(np.sort(array_2d, axis=0)[::-1]) # Creating a 1D sorted array out of the elements of array_2d in descending order print(np.sort(array_2d, axis=None)[::-1])
copy
Compito

Swipe to start coding

Hai un array 2D chiamato exam_scores contenente i punteggi per ogni esame di una certa materia. Ogni colonna rappresenta una specifica materia, e ogni riga rappresenta un singolo studente. Pertanto, una riga specifica mostra i punteggi di quello studente per ogni esame.

  1. Crea un array 2D NumPy chiamato top_scores_subject basato su exam_scores dove ogni colonna, che rappresenta una certa materia, è ordinata per punteggi in ordine decrescente.

  2. Crea un array 1D NumPy chiamato sorted_scores basato su exam_scores, contenente tutti i punteggi ordinati in ordine crescente.

Facendo ciò, puoi facilmente identificare i punteggi più alti per ogni esame e i punteggi più bassi in tutti gli esami.

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 3. Capitolo 2
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