排序-类型错误:'<';在';int';和';str',python
我正在尝试对excel进行排序,但出现以下错误:排序-类型错误:'<';在';int';和';str',python,python,sorting,Python,Sorting,我正在尝试对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 nargsor
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'
听起来您的“Name”列包含混合数据类型—一些字符串和一些整数。通过在排序之前将列转换为字符串类型,可以将整数视为字符串:
df['Name'] = df['Name'].astype(str)
df.sort_values(by='Name', ascending=True, inplace=True)
也就是说,一个名为“Name”的列听起来不应该包含整数,所以我可能建议在继续使用此解决方案之前更仔细地检查您的数据。似乎非常简单。。。在xlsx中的某个地方,您有一个int,在这里您希望有字符串,反之亦然。检查您的数据。您能否显示完整的错误回溯,以便我们可以看到是哪些代码导致了错误?
df['Name'] = df['Name'].astype(str)
df.sort_values(by='Name', ascending=True, inplace=True)