Ordinamento di array 2D
Come puoi vedere, passando semplicemente il nostro array 2D alla funzione sort() viene ordinato ogni array 1D lungo l'asse 1 (che è l'opzione predefinita in un array 2D). Impostando axis=0 viene ordinato ogni array 1D lungo l'asse 0 (ogni colonna).
Impostando axis=None viene restituito un array 1D ordinato contiguo con tutti gli elementi dell'array 2D.
12345678import 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))
Ordinamento di array 2D in ordine decrescente
Per ordinare array 2D in ordine decrescente lungo un determinato asse, è necessario utilizzare due slice: uno completo ([:]) e un altro con passo negativo ([::-1]). La posizione dello slice con passo negativo deve corrispondere all'asse lungo il quale si sta ordinando.
Quando si ordina lungo l'asse 0, è possibile utilizzare solo uno slice con passo negativo, poiché già indicizza lungo questo asse.
12345678import 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])
Grazie per i tuoi commenti!
single
Ordinamento di array 2D
Scorri per mostrare il menu
Come puoi vedere, passando semplicemente il nostro array 2D alla funzione sort() viene ordinato ogni array 1D lungo l'asse 1 (che è l'opzione predefinita in un array 2D). Impostando axis=0 viene ordinato ogni array 1D lungo l'asse 0 (ogni colonna).
Impostando axis=None viene restituito un array 1D ordinato contiguo con tutti gli elementi dell'array 2D.
12345678import 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))
Ordinamento di array 2D in ordine decrescente
Per ordinare array 2D in ordine decrescente lungo un determinato asse, è necessario utilizzare due slice: uno completo ([:]) e un altro con passo negativo ([::-1]). La posizione dello slice con passo negativo deve corrispondere all'asse lungo il quale si sta ordinando.
Quando si ordina lungo l'asse 0, è possibile utilizzare solo uno slice con passo negativo, poiché già indicizza lungo questo asse.
12345678import 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])
Scorri per iniziare a programmare
Si dispone di un array 2D chiamato exam_scores che contiene i punteggi di ciascun esame per una determinata materia. Ogni colonna rappresenta una specifica materia, mentre ogni riga rappresenta un singolo studente. Pertanto, una riga specifica mostra i punteggi di quello studente per ciascun esame.
- Creare un array 2D NumPy chiamato
top_scores_subjectbasato suexam_scoresin cui ogni colonna, rappresentante una determinata materia, è ordinata per punteggio in ordine decrescente. - Creare un array 1D NumPy chiamato
sorted_scoresbasato suexam_scores, contenente tutti i punteggi ordinati in ordine crescente.
In questo modo, è possibile identificare facilmente i punteggi più alti per ciascun esame e i punteggi più bassi tra tutti gli esami.
Soluzione
Grazie per i tuoi commenti!
single
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione