排序 - TypeError: '<'不支持int和str实例之间的比较, Python

2024-04-29 09:41:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试对excel进行排序,但出现以下错误:

File "D:\Projects\Project1\venv\lib\site-packages\pandas\core\frame.py", line 4725, in sort_values
    na_position=na_position)
  File "D:\Projects\Project1\venv\lib\site-packages\pandas\core\sorting.py", line 273, in nargsort
    indexer = non_nan_idx[non_nans.argsort(kind=kind)]
TypeError: '<' not supported between instances of 'int' and 'str'

我试着用下面几行代码,如何解决这个问题。在

^{pr2}$

Tags: inpycorepandasvenvlibpackagesline
1条回答
网友
1楼 · 发布于 2024-04-29 09:41:04

听起来像是你的字符串和一些数据类型的混合。在执行排序之前,可以通过将列转换为字符串类型来将整数视为字符串:

df['Name'] = df['Name'].astype(str)
df.sort_values(by='Name', ascending=True, inplace=True)

也就是说,听起来不像一个名为'Name'的列应该包含整数,所以我建议在继续这个解决方案之前更仔细地检查您的数据。在

相关问题 更多 >