Concept Flow - Sorting along axes
Start with 2D array
Choose axis to sort
Sort elements along axis
Return sorted array
End
We start with a 2D array, pick an axis (0 for columns, 1 for rows), sort elements along that axis, and get a sorted array.
import numpy as np arr = np.array([[3,1,2],[6,4,5]]) sorted_axis0 = np.sort(arr, axis=0) sorted_axis1 = np.sort(arr, axis=1)
| Step | Array State | Axis | Action | Result |
|---|---|---|---|---|
| 1 | [[3,1,2],[6,4,5]] | 0 | Sort each column | Column 1: [3,6] -> [3,6] Column 2: [1,4] -> [1,4] Column 3: [2,5] -> [2,5] Result: [[3,1,2],[6,4,5]] |
| 2 | [[3,1,2],[6,4,5]] | 0 | Sort columns ascending | [[3,1,2],[6,4,5]] |
| 3 | [[3,1,2],[6,4,5]] | 1 | Sort each row | Row 1: [3,1,2] -> [1,2,3] Row 2: [6,4,5] -> [4,5,6] Result: [[1,2,3],[4,5,6]] |
| 4 | [[3,1,2],[6,4,5]] | 1 | Sort rows ascending | [[1,2,3],[4,5,6]] |
| 5 | - | - | End | Sorting complete |
| Variable | Start | After axis=0 sort | After axis=1 sort | Final |
|---|---|---|---|---|
| arr | [[3,1,2],[6,4,5]] | [[3,1,2],[6,4,5]] | [[3,1,2],[6,4,5]] | [[3,1,2],[6,4,5]] |
| sorted_axis0 | - | [[3,1,2],[6,4,5]] | - | [[3,1,2],[6,4,5]] |
| sorted_axis1 | - | - | [[1,2,3],[4,5,6]] | [[1,2,3],[4,5,6]] |
np.sort(array, axis) - axis=0 sorts each column (downwards) - axis=1 sorts each row (across) - Returns a new sorted array - Original array stays unchanged - Useful for sorting multi-dimensional data