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.
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
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.
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])
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.
-
Crea un array 2D NumPy chiamato
top_scores_subject
basato suexam_scores
dove ogni colonna, che rappresenta una certa materia, è ordinata per punteggi in ordine decrescente. -
Crea un array 1D NumPy chiamato
sorted_scores
basato suexam_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
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
Awesome!
Completion rate improved to 3.7
Ordinamento di Array 2D
Scorri per mostrare il menu
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.
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
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.
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])
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.
-
Crea un array 2D NumPy chiamato
top_scores_subject
basato suexam_scores
dove ogni colonna, che rappresenta una certa materia, è ordinata per punteggi in ordine decrescente. -
Crea un array 1D NumPy chiamato
sorted_scores
basato suexam_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
Grazie per i tuoi commenti!
Awesome!
Completion rate improved to 3.7single