我正在做文本预处理,但这很有挑战性,有人能解释一下为什么我有这样的类型吗
错误?我检查列的类型,它是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'发布于 2020-07-10 19:33:06
这很可能是因为您的列favourites_count具有混合数据类型。我建议您在排序前将其转换为数字:
df['favourites_count'] = pd.to_numeric(df['favourites_count'])发布于 2020-07-10 19:51:45
当您沿着"favourites_count“列对dataframe df进行排序时,排序算法会沿着该列比较中的值。
当它将一个数值与其他数值进行比较时,它应该得到一个不是"int“数据类型的值。
使用以下语法检查列的类型:
df["favourites_count"].dtypes如果输出显示
dtype('O')这意味着列中的数据是混合数据。
正如在https://stackoverflow.com/a/62833412/13905190中提到的,使用"pd.to_numeric()“函数将"favourites_count”数据类型转换为数字数据类型。
现在,如果您检查列的“dtype”,它应该输出:
dtype('int64')由于您成功地转换了数字列的数据类型,因此可以对其进行排序,而不会出现任何错误。
https://stackoverflow.com/questions/62833308
复制相似问题