I have a 2D array with shape (35,6004) and I want to sort it based on the sum of the columns. So if I had for example
array([[5, 3, 13],
[1, 2, 20],
[6, 2, 6]])
I want to sort my array to be like so
array([[13, 5, 3],
[20, 1, 2],
[6 , 6, 2]]).
I tried finding the index of the column
def find_max_col(o):
t = o.sum(axis=0)
te = t.tolist()
return te.index(t.max())
then I use the output of that function to sort the array
test = array[array[:, find_max_col(array)].argsort()]
and do this to check and see if it was successful
t1 = test.sum(axis=0)
print(t1)
As I understand if I sort according to the column with the biggest sum, I should get an array that shows me the sums of all the columns in a descending form as the output of the above code.
Is my code for checking if worked wrong, did I make a mistake in the sorting or did I not even find the correct index of the column to sort by?