Значение sort_value работает со столбцом Name, но не столбцом Number в кадре данных. - PullRequest
0 голосов
/ 02 июня 2019

При попытке отсортировать мои данные по столбцу «Число» я получаю код ошибки

1708 # Проверка на наличие дубликатов

KeyError: 'Number'

датафрейм выглядит примерно так

Number Name City Sex

3 Jay A M

1 Marry A F

5 John B M

Число - int64, остальные - объекты

df.sort_values(by=['Number']) --> error

df.sort_values(by=['Name']) --> works

df.sort_values(by=['City']) --> error

df.sort_values(by=['Sex']) --> works

Я ищу что-то вроде этого

Number Name City Sex

  1 Marry A F

  3 Jay A M

  5 John B M

1 Ответ

0 голосов
/ 02 июня 2019

Я пытаюсь сделать 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()
...