【发布时间】:2023-01-31 00:44:59
【问题描述】:
我正在尝试将一些代码从 SPSS 转换为 Python。在代码中,SPSS“sort cases by”命令导致的排序顺序与 Pandas“df.sort_values(by=[])”命令不同。作为参考,以下是两个程序中的代码:
SPSS软件
GET FILE='C:\Data\sorttest.sav'.
sort cases by variable1.
dataset name sorttest.
execute.
Python
import pandas as pd
df_sorttest = pd.read_spss('C:\\Data\\sorttest.sav')
df_sorttest = df_sorttest.sort_values(by=['variable1'])
我假设这是因为他们使用不同的排序算法,但我不确定如何修复它以便在 Python 中获得相同的结果。
【问题讨论】:
-
你可以在sort_values中指定你想要使用的排序算法
-
你碰巧知道 SPSS 默认使用哪种算法来匹配它吗?编辑:我想我明白了,我使用了 kind='mergesort' 并得到了相同的顺序。谢谢!
-
我不这样做,但我会首先检查您要排序的列的数据类型是否正确:例如,
'123'作为 str 与123作为 int 的排序方式不同。
标签: python pandas sorting spss