簡體   English   中英

使用Python運行SPSS分析並檢索值(Python - > Spss - > Python)

[英]Using Python to run SPSS analyses and retrieve values (Python -> Spss -> Python)

我花了幾天時間來研究spss和spssaux模塊 - 這些都是很好的資源。 雖然我覺得我缺少一些概念性的理解,因為我可以通過spssaux.getValueLabels或spss.DataStep()檢索基本的東西,比如檢索值標簽

print spssaux.getValueLabels(2)
>>> {u'1': u'Neutral', u'0': u'Disagree', u'2': u'Agree'}

要么

dataset = spssDataset()
variable_list = dataset.varList
print variable_list[2].valueLabels.data
>>> {0.0: u'Disagree', 1.0: u'Neutral', 2.0: u'Agree'}

但是,我正在努力弄清楚如何檢索實際的數據值。

我也無法弄清楚如何從分析中檢索值並在Python中使用它們。 目前我一直使用spss.Submit()運行分析,但我懷疑這在將值提供回Python方面是有限的(即,向Python反饋均值和有效值,然后可以在Python中使用它來制作決定)。

如果您對想法有任何建議,請注意我需要在Python環境中操作,因為這些數據檢索/分析已合並到更廣泛的Python程序中。

謝謝!

spss.Cursor類是一個很難使用的低級類。 spssdata.Spssdata類提供了更友好的界面。 您還可以使用spss.Dataset類,該類在Spssdata之后建模並具有其他功能但速度較慢。

對於檢索Viewer輸出,基本的主要工具是OMS寫入xml工作區或新數據集。 您可以使用spssaux模塊中的一些函數來包裝它。 createDatasetOuput簡化了從表創建數據集的過程。 createXmlOutput和隨附的getValuesFromXmlWorkspace使用xml工作區。 在后者之下,spss.EvaluateXPath api允許您從表中獲取所需的任何輸出。

另外,如果您基本上生活在Python世界中,您是否發現了外部模式? 這使您可以從外部Python程序運行Statistics。 您可以使用Python IDE在Python代碼中進行交互式工作並進行調試。 您只需導入spss模塊以及您需要的任何其他內容,並根據需要使用提供的api。 但是,在外部模式下,沒有Viewer,因此您無法使用SpssClient模塊apis。

請參閱SPSS的Python參考指南中的spss.Cursor類。 很難對您的工作流程提供一般性建議,但如果您在SPSS文件中生成統計數據,則可以抓取它們以便在Python程序中使用。 這是一個例子:

*Make some fake data.
DATA LIST FREE / ID X.
BEGIN DATA
1 5
2 6
3 7
END DATA.
DATASET NAME Orig.

BEGIN PROGRAM Python.
import spss, spssdata
alldata = spssdata.Spssdata().fetchall()
print alldata
#this just grabs all of the data
END PROGRAM.

*Make your mean in SPSS syntax.
AGGREGATE OUTFILE=* MODE=ADDVARIABLES
  /BREAK
  /MeanX = MEAN(X).

BEGIN PROGRAM Python.
var = ["MeanX"]
alldata2 = spssdata.Spssdata(var).fetchone()
print alldata2
#This just grabs the mean of the variable you created
END PROGRAM.

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM