TypeError: блокнот Jupyter - PullRequest
       18

TypeError: блокнот Jupyter

0 голосов
/ 10 июля 2020

Я выполняю предварительную обработку текста, но это сложно, может ли кто-нибудь объяснить, почему у меня ошибка типа

? Я проверяю тип столбца, это int, так что не так с кодом?

Я использую блокнот Jupiter.

fav = df[['favourites_count','text']].sort_values('favourites_count',
           ascending = False)[:5].reset_index()
for i in range(5):
    print(i, fav['text'][i],'\n')
TypeError: '<=' not supported between instances of 'str' and 'int'

Ответы [ 2 ]

0 голосов
/ 10 июля 2020

Когда вы сортируете фрейм данных df по столбцу «favourites_count», алгоритм сортировки сравнивает значения в этом столбце.

Поскольку он сравнивает одно числовое c значение с другим числовым c значением, он должен был получить значение, которое не является типом данных "int".

Проверьте тип столбца с помощью следующего синтаксиса:

df["favourites_count"].dtypes

Если в выходных данных указано

dtype('O')

Это означает, что данные в столбце смешанные.

Как указано в { ссылка }, преобразовать тип данных «favourites_count» в numeri c тип данных с помощью « pd.to_numeri c () "function.

Теперь, если вы проверите" dtypes "вашего столбца, он должен вывести:

dtype('int64')

Поскольку вы успешно преобразовали тип данных numeri c столбец, вы можете отсортировать его без ошибок.

0 голосов
/ 10 июля 2020

Скорее всего, это связано с тем, что ваш столбец favourites_count имеет смешанные типы данных. Я предлагаю вам преобразовать его в numeri c перед сортировкой:

df['favourites_count'] = pd.to_numeric(df['favourites_count'])
...