我正在寻找使用 SPSS 文件(.sav)pandas
。在没有 SPSS 程序的情况下,典型文件转换为 .csv 后的样子如下:
在调查前两行的含义时(我不知道 SPSS),似乎第一行包含Label
s,而第二行包含VarName
s.
当我将文件带入 pandas 时:
import pandas.rpy.common as com
def savtocsv(filename):
w = com.robj.r('foreign::read.spss("%s", to.data.frame=TRUE)' % filename)
w = com.convert_robj(w)
return w
然后执行 head(),第一行(标签)丢失:
标签如何维护?
- Ref: 有Python模块可以打开SPSS文件吗? https://stackoverflow.com/questions/14647006/is-there-a-python-module-to-open-spss-files
- 蟒蛇:2.7.10
- 熊猫:0.17.1
标签在一个sav
文件存储在variable.labels
返回对象的属性read.spss https://stat.ethz.ch/R-manual/R-devel/library/foreign/html/read.spss.html功能。
您可以通过以下方式获取变量标签:
import pandas.rpy.common as com
def get_labels(filename):
w = com.robj.r('attr(foreign::read.spss("%s"), "variable.labels")' % filename)
w = com.convert_robj(w)
return w
如果要将标签设置为数据框的列名称:
import pandas.rpy.common as com
def savtocsv(filename):
w = com.robj.r('foreign::read.spss("%s", to.data.frame=TRUE)' % filename)
cols = list(com.robj.r("attr")(w, "variable.labels"))
w = com.convert_robj(w)
w.columns = cols
return w
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)