# How to Sort Columns in Python?

To sort columns in Python, you can use the `numpy` library’s `argsort()` function to obtain the indices that would sort each column in ascending order. You can then use these indices to sort the columns accordingly.

Here’s an example implementation:

``````import numpy as np

# Define a 2D array
my_array = np.array([[4, 2, 8], [1, 3, 9], [6, 5, 7]])

# Sort the columns in ascending order
sorted_indices = np.argsort(my_array, axis=0)
sorted_array = np.take_along_axis(my_array, sorted_indices, axis=0)

# Print the sorted array
print(sorted_array)``````

In this example, we define a 3×3 array `my_array`. We use the `argsort()` function with the `axis=0` argument to obtain the indices that would sort each column in ascending order. We then use the `take_along_axis()` function to sort the columns based on the sorted indices. Finally, we print the sorted array.

Note that the `take_along_axis()` function returns a new array with the same shape as the original array, but with the columns sorted according to the sorted indices. If you want to modify the original array in place, you can use the sorted indices to index the columns of the array directly, like this:

``````# Modify the original array in place
my_array[:, sorted_indices[0]] = sorted_array[:, 0]
my_array[:, sorted_indices[1]] = sorted_array[:, 1]
my_array[:, sorted_indices[2]] = sorted_array[:, 2]

# Print the modified array
print(my_array)``````

In this example, we use the sorted indices to index the columns of the original array directly, and assign the sorted columns to the corresponding columns of the original array. We then print the modified array.