对于一个项目,我得到了 SPSS .sav 文件中的数据,这些数据之前是使用 R 处理的。我现在尝试“翻译”成 Python,并一直在使用 pandas,更具体地说,非常方便
read_spss(...)
-功能。
原始数据表示一个图,其中每行包含有关节点的信息,某些列包含有关每个节点的出边的信息。有一个与每个行/节点关联的附加标识符,由于某种原因没有明确给出为列。但是,当使用
read_spss(convert_categoricals=True)
保留分类列时,我可以在数据框的外键列中看到这些标识符。
我的问题是,似乎有三种不同的方式来表示这些分类列中的数据:
read_spss(convert_categoricals=True)
,我获取每行的类别名称。df["categorical_column"].cat.codes
,我获取每行的类别代码。read_spss(convert_categoricals=False)
,我获得每行的 ID,这与使用第二个选项获得的代码完全不同。我想要的是从使用第三个选项获得的 ID(因为它们用作数据框中其他行的外键)到使用第一个选项获得的类别名称的映射。然而,我只能想到看起来相当不方便和昂贵的方法(即导入数据框两次,创建一个结合行 ID 和行类别的新数据框,然后从中创建一个 python 字典,重复该过程每个外键列)。
有更简单的方法吗?