Я пытаюсь сделать DataFrame похожим на ваш и отсортировать его, и он работает для сортировки по столбцу Number
:
df=pd.DataFrame({'Number':[3,1,5],
'Name':['Jay','Marry','John'],
'City':['A','A','B'],
'Sex':['M','F','M']})
print(df)
print(df.Number.dtype)
df=df.sort_values(by=['Number'])
print(df)
Выход:
Number Name City Sex
0 3 Jay A M
1 1 Marry A F
2 5 John B M
int64
Number Name City Sex
1 1 Marry A F
0 3 Jay A M
2 5 John B M
Возможно, в ваших столбцах есть пробел, попробуйте это перед сортировкой:
df.columns=df.columns.str.strip()